if 是一个条件语句。if 语句的语法为:
if condition { }
与其他语言不同, 其他语言 if后面有()括号,但是go语言是没有的。
if
语句后面可以接可选的 else if
和 else
语句:
if condition { } else if condition { } else { }
注意: 务必在 } 后半个花括号后面跟着 else关键词,如果换行跟着 else是错误的。无法通过编译。
如下代码是错误的,无法通过编译的:
if condition { } else { //错误,严重错误,else关键词前面务必保持有} 后部分的花括号,否则无法通过编译。 }
另外:
if 的条件里可以赋值
if 的条件里赋值的变量作用域就在这个if语句里。 详见下面代码:
package main import ( "fmt" "io/ioutil" ) func main(){ const filename = "abc.txt" if contents, err := ioutil.ReadFile(filename); err != nil { //if的条件里可以赋值 fmt.Println(err) } else { fmt.Printf("%s\n", contents) //if的条件里赋值的变量作用域就在这个if语句里。 } }
分支选择语句
switch...case..(其实我个人感觉把switch关键词改成select更合适,英文意思:在哪种情况选择哪个。)
具体语法看下面的代码
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("unsupported operator:" +op) } return result }
需要注意:switch会自动break,除非使用fallthrough
switch后可以没有表达式,只需在case里面加入条件就可以了
func grade(score int) string { switch { case score <60: return "F" case score <80: return "C" case score <90: return "B" default: return "A" } }
原文地址:https://www.cnblogs.com/golangxiong/p/10166419.html
时间: 2024-10-10 10:07:09