“_” 可以理解成一个垃圾桶,我们把值赋给“_” ,相当于把值丢进垃圾桶,在接下来的程序中运行中不需要这个下划线这个值
a,b :=1,2 只能用在函数体内
package mainimport ("fmt" )const a = iota const b = iota //遇到const iota被重置为0func main() {fmt.Println(a, b) }
输出:0 0
package mainimport ("fmt" )const a = iota const (b = iotac = iota //const中每新增一行常量申明,将使iota计数一次,这里变成1 )func main() {fmt.Println(a, b, c) }
输出:0 0 1
跳值使用:
package mainimport ("fmt" )const (a = iotab = iota_ //iota也会计数一次c = iota //c=3 )func main() {fmt.Println(a, b, c) }
输出: 0 1 3
插队使用:
package mainimport ("fmt" )const (a = iotab = 3.14c = iota )func main() {fmt.Println(a, b, c) }
输出:0 3.14 2
package mainimport ("fmt" )const (a = iota * 2b = iotac = iota )func main() {fmt.Println(a, b, c) }
输出:0 1 2
表达式隐式使用法:
package mainimport ("fmt" )const (a = iota * 2b //隐式继承前一个非空表达式iota*2c )func main() {fmt.Println(a, b, c) }
输出:0 2 4
package mainimport ("fmt" )const (a = iota * 2b = iota * 3cde = iota )func main() {fmt.Println(a, b, c, d, e) }
输出: 0 3 6 9 4
单行使用法:同一行iota的值是不加的
package mainimport ("fmt" )const (a, b = iota, iota + 3 //同一行iota的值是不加的c, de = iota )func main() {fmt.Println(a, b, c, d, e) }
输出:0 3 1 4 2
package mainimport ("fmt" )const (a, b = iota, iota + 3c, de = iotaf )func main() {fmt.Println(a, b, c, d, e, f) }
输出:0 3 1 4 2 3