break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
· 此外,还有 37个保留字
Constants: true false iota nil
Types: int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
float32 float64 complex128 complex64
bool byte rune string error
Functions: make len cap new append copy close delete
complex real imag
panic recover
以上关键字和保留字需有印象即可,后面用的多了就会熟悉并记住
变量和常量和其他语言的定义差不多,具体看以下示例
package main
import (
"fmt"
)
// 定义常量
const p1 = 1000
const p2 = "测试常量"
// 多个常量定义
const (
p3 = 1
p4 = "多个"
)
// 多个相同常量
const (
n1 = 100
n2
n3
n4
)
// iota是go语言的常量计数器,只能在常量的表达式中使用。
const (
t1 = iota
t2
t3
t4
)
// iota 跳过某个值
const (
y1 = iota
y2
_
y4
)
//iota 穿插值
const (
u1 = iota
u2 = 100
u3 = iota
u4 = 100
)
// iota 多个定义
const (
i1, i2 = iota + 1, iota + 2
i3, i4 = iota + 3, iota + 4
)
func main() {
//定义变量结构 var 变量名 类型
var name string
//批量声明
var (
age int
sex bool
)
//变量初始化 var 变量名称 类型 = 表达式
var test string = "小刘"
fmt.Printf("声明变量 %#v %#v %#v %#v\n", name, age, sex, test)
//多个变量初始化
var a, b = "test1", 22
//类型推导
var A = "大A"
var B = 2
var C = true
fmt.Printf("变量初始化 %#v %#v %#v %#v %#v\n", a, b, A, B, C)
//短变量
test1()
//匿名变量
aa, _ := test2()
_, bb := test2()
fmt.Printf("匿名变量声明 下划线代表忽略 %#v %#v\n", aa, bb)
//测试常量
fmt.Printf("常量 %#v %#v %#v %#v\n", p1, p2, p3, p4)
//多个相同常量
fmt.Printf("相同常量 %#v %#v %#v %#v\n", n1, n2, n3, n4)
//iota 常量
fmt.Printf("iota常量 %#v %#v %#v %#v\n", t1, t2, t3, t4)
//iota 跳过值
fmt.Printf("iota常量跳过值 %#v %#v %#v\n", y1, y2, y4)
//iota 穿插值
fmt.Printf("iota常量穿插值 %#v %#v %#v %#v\n", u1, u2, u3, u4)
//iota 多个定义
fmt.Printf("iota常量穿插值 %#v %#v %#v %#v\n", i1, i2, i3, i4)
}
func test1() {
m := 10
n := "test"
fmt.Printf("短变量声明 %#v %#v\n", m, n)
}
func test2() (int, string) {
return 1000, "hello"
}
返回结果打印
本文为北溟有鱼QAQ原创文章,转载无需和我联系,但请注明来自北溟有鱼QAQ https://www.amdzz.cn
最新评论