1、for,if后面的条件没有括号 2、if条件里面也可以定义变量
if const_file, err := ioutil.ReadFile(file_name); err != nil { fmt.Println(err) } else { fmt.Printf("%s", const_file) }3、没有while 4、switch不需要break,也可以直接switch多个条件
func grade(score int) string { g := "" switch { case score < 0 || score > 100: 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 }下面是for循环的一些用法
package main import ( "bufio" "fmt" "os" "strconv" ) func convertToBin(n int) string {//十进制转二进制 result := "" for ; n > 0; n = n / 2 { //没有起始条件 lsb := n % 2 result = strconv.Itoa(lsb) + result //强制转换为字符类型 } return result } func printFile(filename string) { //一行一行读文件 file, err := os.Open(filename) if err != nil { panic(err) } scanner := bufio.NewScanner(file) //一行一行读 for scanner.Scan() { //没有初始条件,没有递增条件,相当于while fmt.Println(scanner.Text()) } } func forever() {//死循环 for { fmt.Println("hh") } } func main() { fmt.Println(convertToBin(9999)) printFile("test.txt") forever() }