一、if语句的使用
(1)if的条件里可以赋值
(2)if的条件里赋值的变量作用域就在这个if语句里
package main
import (
"fmt"
"io/ioutil"
)
func main() {
const fileName = "branch.txt"
if contents, err := ioutil.ReadFile(fileName); err != nil {
fmt.Println(err)
} else {
fmt.Printf("%s\n", contents)
}
}
二、switch的使用
(1)switch会自动break ,除非使用fallthrough
func eval(a,b int ,op string) int {
var result int
switch op {
case "+":
result=a+b
case "-":
result=a-b
case "*":
result=a*b
case "/":
result=a/b
default:
panic("unSupport op"+op)
}
return result
}
(2)switch后可以没有表达式
grade :=""
switch {
case mark<0||mark>100:
panic(fmt.Sprintf("wrong mark:%d", mark))
case mark<60:
grade="F"
case mark<70:
grade="D"
case mark<80:
grade="C"
case mark<90:
grade="B"
case mark<=100:
grade="A"
}
return grade
}
三、for循环的使用
(1)for的条件里不需要括号
(2)for的条件里可以省略初始条件,结束条件,递增表达式
func accumulation(start,limit int) int {
sum :=0
for i:=start;i<=limit;i++ {
sum +=i
}
return sum
}
(3)省略初始条件,相当于while
func transToBin(number int) string {
result := ""
if number==0 {
return "0"
}
for ; number > 0; number /= 2 {
lsb := number % 2
result = strconv.Itoa(lsb) + result
}
return result
}