概述
条件语句需要开发者通过指定一个或多个条件
并通过测试条件是否为 true 来决定是否执行指定语句
并在条件为 false 的情况再执行另外的语句。
语法
package main
func main() {
//第一种格式
if 条件表达式 {
语句1
}
//第二种格式
if 初始化表达式; 条件表达式 {
语句1
}
//第三种格式
if 初始化表达式; 条件表达式 {
语句1
}else{
语句2
}
//第四种格式
if 初始化表达式; 条件表达式 {
语句1
}else if 初始化表达式; 条件表达式 {
语句2
}else{
语句3
}
}
格式规则
1)Go语言中条件语句不需要圆括号,但是分支中必须有大括号。
2)Go语言条件语句中可以用 := 初始化一个变量,不过需要记住,这个变量是局部变量,该变量的作用域仅在if范围之内。
3)Go语言里面对 if/else 格式对齐要求很严格,如果需要 if/else 组合,则需要在if语句结束的大括号后面就跟上else。
这里写上代码
4)关键字 if 和 else 之后的左大括号 { 必须和关键字在同一行,如果你使用了 else-if 结构,则前段代码块的右大括号 } 必须和 else-if 关键字在同一行。这两条规则都是被编译器强制规定的。
示例代码
package main
import (
"fmt"
"io/ioutil" //一定要导入包
)
func main() {
age := 10
//1. 第一种表达式 if
if age > 10 { //其他的语言有括号,这里没有括号,如果你加上了括号,go fmt还是会删除你的括号
fmt.Println("age大于10")
}
//2. 第二种表达式 if else
if age > 20 {
fmt.Println("age大于20")
} else {
fmt.Println("age小于20")
}
//3. 第三种表达式 if-else if
if age == 20 {
fmt.Println("age等于20")
} else if age > 20 {
fmt.Println("age大于20")
} else {
fmt.Println("age小于20")
}
//4. 第四种格式 初始化表达式; 条件表达式
if i := 20; i == 10 {
fmt.Println("i等于10")
} else {
fmt.Println("i不等于10")
}
//读取文件 ioutil是个go自带的包,ReadFile首字母大小表示是公有的方法,nil表示是否为空,不为空是表示表示打开文件失败
// 一定要导入 io/ioutil
// 必须在当前目录下创建abc.txt文件
if response, err := ioutil.ReadFile("abc.txt"); err != nil {
fmt.Println(err)
} else {
fmt.Println(string(response))
}
}
智一面王老师说运维推荐初级Golang开发工程师在线评测:http://www.gtalent.cn/exam/interview/FM2N7xj54dQBPfUE
王老师说运维之go语言菜鸟入门:http://www.codeforest.cn/course/474