Go语言分支结构
if-else if多分支语句
如果存在第三个分支,则可以使用下面这种三个独立分支的形式:
- if 条件表达式{
- // 语句体
- } else if 条件表达式2 {
- // 语句体
- }else {
- // 最终的语句体
-
if语句特殊写法
func main() {
const file = "goo.txt"
//if条件内赋值初始化+条件表达式
if content,err :=ioutil.ReadFile(file);err != nil {
fmt.Println(err)
} else {
fmt.Printf("%s\n",content)
}
fmt.Println(a, b, c)
}
ReadFile()是一个带有返回值的函数,content,err :=ioutil.ReadFile(file)是一个赋值语句,执行 Connect 后,将返回值保存到 content,err变量中。
err != nil 才是 if 的判断表达式,当 err变量不为空时,打印错误并返回。if语句总结
- if语句表达式不用括号
- if语句可以像for语句一样赋值变量
- if条件赋值的变量作用域只在if语句代码块里
switch case语句
for语句
与多数语言不同的是,Go语言中的循环语句只支持 for 关键字,而不支持 while 和 do-while 结构,for关键字 的基本使用方法与C语言和 C++ 中非常接近:
sum := 0
for i := 0; i < 10; i++ {
sum += i
}
for关键字条件表达式不需要用圆括号()
括起来,Go语言还进一步考虑到无限循环的场景,让开发者不用写无聊的 for(;;){}
和do{} while(1);
,而直接简化为如下的写法:
一、条件语句
if语句
在Go语言中,关键字if
用于判断某个条件(布尔型或逻辑型)的语句,如果该条件成立,则会执行 if 后由大括号{}
括起来的代码块,否则就忽略该代码块继续执行后续的代码。
if 条件表达式 {
// 语句体
}
if-else语句
如果存在第二个分支,则可以在上面代码的基础上添加 else 关键字以及另一代码块。这个代码块中的代码只有在条件不满足时才会执行,if 和 else 后的两个代码块是相互独立的分支,只能执行其中一个。
if 条件表达式 {
// 语句体
} else {
// 语句体
}