Go语言小细节——内置类型键值或下标规则

Jacinda ·
更新时间:2024-11-13
· 701 次阅读

数组和切片组合字面值中下标规则 数组和切片组合字面值中的下标必须为整数常量 在一个数组或切片组合字面值中,如果一个元素的索引下标缺失,则编译器认为它的索引下标为出现在它之前的元素的索引下标加一 package main import "fmt" var x = []int{2: 5, 6, 0: 7} func main() { fmt.Println(x) // [7 0 5 6] } 容器组合字面值中键值或者下标规则 一个容器组合字面值中的常量键值(包括索引下标)不可重复 此规则可以被用来实现编译时刻断言 const S1 = "Hello world" const S2 = "" var _ = map[bool]int{false: 0, len(S1) != 0: 1} var _ = map[bool]int{false: 0, len(S2) != 0: 1} // 编译报错 [Sp|Fp|P]rintf函数支持位置参数 package main import "fmt" func main() { // 将打印出:coco fmt.Printf("%[2]v%[1]v%[2]v%[1]v", "o", "c") }

打印函数中,百分号后面的方括号中的数字,代表的意思为后面的第几个变量,这样可以再多次重复打印变量时可以减少代码内容


作者:JameKeal



键值 GO go语言

需要 登录 后方可回复, 如果你还没有账号请 注册新账号