1> 使用var关键词声明变量,不赋值
func main() {
var a int
var s string
var t bool
fmt.Println(a, s, t)
}
// int的默认值为0 string的默认值为空串 bool的默认值为false
2> 使用var关键词声明变量,赋值
func main() {
var a, b int = 3, 4
var s string = "abc"
var t bool = true
// 编译器可以自动识别类型
var r, f, v = 1, "a", false
fmt.Println(a, s, t, r, f, v)
}
3> 使用 := 声明变量并赋值
func variable() {
a := 3
s := "hello"
i, j := true, 2
fmt.Println(a, s, i, j)
}
4> 在函数外部定义变量
package main
import "fmt"
var (
a = 2
b = 3
t = true
)
func main() {
fmt.Println(a, b, t)
}
// 在函数外部定义变量,只能使用var关键字来定义
// 函数外部定义的变量,属于包内变量
总结:
1> 常量的定义
package main
import "fmt"
const (
i, j = true, "kk"
)
func main() {
const (
a, b = 1, 2
)
// a = 10 // 这里会报错,常量的值不允许改变
fmt.Println(a, b, i, j)
}
// 1 2 true kk
2> 枚举:iota
package main
import "fmt"
func main() {
const (
a = iota
b, c = iota, iota
d = iota
)
fmt.Println(a, b, c, d)
const i = iota
fmt.Println(i)
}
// 1 2 2 3
// 0
总结
1> if
package main
import (
"fmt"
"io/ioutil"
)
func main() {
const filename = "abc.txt"
contents, err := ioutil.ReadFile(filename)
if err != nil {
panic(err)
// fmt.Println(err)
} else {
fmt.Printf("%s", contents)
}
}
2> swich
package main
import "fmt"
var g string
func grade(score int) string {
switch {
case score < 60:
g = "C"
case score < 80:
g = "B"
case score <= 100:
g = "A"
default:
fmt.Printf("Wrong score %d", score)
}
return g
}
func main() {
s := grade(100)
fmt.Println(s)
}
package main
import "fmt"
func main() {
sum := 0
for i := 0; i <= 100; i++ {
sum += i
}
fmt.Println(sum)
}
package main
import "fmt"
// 死循环
func main() {
for {
fmt.Println("abc")
}
}