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