[toc] 條件語句 條件語句用 if 關鍵字來判定條件,如: for省略初始條件(及遞增條件), 相當於while語句 初始條件、結束條件、遞增表達式都省略是是一個死迴圈 Go中沒有while語句 ...
目錄
條件語句
條件語句用 if 關鍵字來判定條件,如:
func bounded(v int) int {
if v > 100 {
return 100
} else if v < 0 {
return 0
} else {
return v
}
}
判斷條件 不用圓括弧 括起來
判定條件里可以賦值,賦值變數的作用域僅限於這個if語句塊里。
switch語句
func grade(score int) string {
g := ""
switch {
case score < 0 || score > 100:
//當程式出錯時,panic會中斷程式運行
panic(fmt.Sprintf(
"Wrong score: %d", score))
case score < 60:
g = "F"
case score < 80:
g = "C"
case score < 90:
g = "B"
case score <= 100:
g = "A"
}
return g
}
Go語言中case不用break結束。
switch後可以沒有條件,在case後進行條件判定。
迴圈語句
代碼示例:
sum := 0
for i:= 1;i <= 100 ;i++ {
sum += i
}
- for語句的條件也不需要用括弧括起來
- 可以 省略 初始條件、結束條件、遞增表達式
package main
import(
"bufio"
"fmt"
"os"
"strconv"
)
func convertToBin(n int) string {
bin := ""
//省略初始條件,相當於while語句
for ; n > 0; n /= 2{
lsb := n % 2
bin = strconv.Itoa(lsb) + bin
}
return bin
}
func readFile(filename string) {
file, err := os.Open(filename)
if err != nil{
panic(err)
}
scanner := bufio.NewScanner(file)
for scanner.Scan(){
fmt.Println(scanner.Text())
}
}
func main() {
fmt.Println(convertToBin(13),
convertToBin(5))
readFile("file.txt")
}
- for省略初始條件(及遞增條件),相當於while語句
- 初始條件、結束條件、遞增表達式都省略是是一個死迴圈
- Go中沒有while語句