一、Golang常量
varconstconst
package main // 声明 main 包,表明当前是一个可执行程序
import "fmt"
func main(){ // main函数,是程序执行的入口
const a, b= 3, 4
fmt.Println(a, b)
}
输出结果
3 4
需要说明的是,Golang中的局部变量定义后未使用会报错,但常量不会报错!
另外,如果我们一次性定义多个常量,但存在未赋值的常量,那么该常量的值会使用上一行常量定义的值:
package main // 声明 main 包,表明当前是一个可执行程序
import "fmt"
func main() { // main函数,是程序执行的入口
const (
a1 = 1
a2
)
fmt.Println(a1, a2)
}
输出结果
1 1
二、iota—常量计数器
const
package main // 声明 main 包,表明当前是一个可执行程序
import "fmt"
func main() { // main函数,是程序执行的入口
const (
a1 = 1 // a1 = 0 iota=0(iota初始为0)
a2 = 2 // a2 = 1 iota=1
a3 = iota //a3=iota;iota=2
a4 = "hello" //iota=3
a5 = iota //iota=4
a6
)
fmt.Println(a3, a4, a5, a6)
}
输出结果
2 hello 4 5
三、Golang条件语句
1. if 语句
Golang中的if语句不需要带括号:
package main
import "fmt"
func main() {
//定义变量a=1
a := 1
fmt.Printf("a 的值为:%d\n", a)
if a < 2 {
//如果条件为 true 则执行以下语句
fmt.Printf("a 小于 2\n")
}
}
输出结果
a 的值为:1
a 小于 2
2. if … else 语句
else}
package main
import "fmt"
func main() {
//定义变量a=3
a := 3
fmt.Printf("a 的值为:%d\n", a)
if a < 2 {
fmt.Printf("a 小于 2\n")
} else { //else需与}在同一行
fmt.Printf("a 大于 2\n")
}
}
3. if 语句嵌套
package main
import "fmt"
func main() {
//定义变量a=4
a := 4
fmt.Printf("a 的值为:%d\n", a)
if a < 2 {
fmt.Printf("a 小于 2\n")
} else {//else需与}在同一行
if a == 3 {
fmt.Printf("a 等于 3\n")
} else {//else需与}在同一行
fmt.Printf("a 不等于 3\n")
}
}
}
4. switch 语句
1)语法
注意:Golang的switch 默认情况下 case 最后自带 break 语句,无需我们手动写break;
package main
import "fmt"
func main() {
//定义变量a=4
a := 5
fmt.Printf("a 的值为:%d\n", a)
switch a {
case 1:
fmt.Printf("a 等于 1\n")
case 2:
fmt.Printf("a 等于 2\n")
case 3,4:
fmt.Printf("a 等于 3或者4\n") //可以多条件判断
default:
fmt.Printf("a 不等于1,2,3 4,a的值为:%d\n", a)
}
}
2)fallthrough
使用 fallthrough 会强制执行后面一条的 case 语句,哪怕它不满足case(判断为true)条件:
package main
import "fmt"
func main() {
//定义变量a=4
a := 1
fmt.Printf("a 的值为:%d\n", a)
switch a {
case 1:
fmt.Printf("a 等于 1\n")
fallthrough
case 2: //由于上一条使用了fallthrough,所以我也会被执行
fmt.Printf("a 等于 2\n")
case 3,4:
fmt.Printf("a 等于 3或者4\n") //可以多条件判断
default:
fmt.Printf("a 不等于1,2,3 4,a的值为:%d\n", a)
}
}
输出结果
a 的值为:1
a 等于 1
a 等于 2
5. select 语句
待补充