介绍一下go语言中常量的使用方法
(一)Go语言中的常量定义
声明一个常量: const 变量名 [类型]=value 这里类型不是必须的,可以由变量值推断而来 声明多个常量: const ( 多个常量 )
(二)Go语言中的iota使用方法
iota可以认为是一个可以被编译器修改的常量 在const关键字出现时将会被重置为0,否则const每新增一行将会使iota计数一次(也就是增加1) 并且iota声明的常量支持按一定规则步增 • 1 • 2 • 3
(三)上代码
package main import ( "fmt" "unsafe" ) func main() { // 声明一个常量 const mystr = "Tom" // 声明多个常量 const a, b = 1, 2 // 枚举生成多个常量 const ( a1 = "abc" b1 = len(a1) c1 = unsafe.Sizeof(a1) ) //a=10 // a = 10试图修改常量,编译不过 fmt.Println("hello", mystr) fmt.Println("常量值为:", a, b) // 常量可以使用len(),cap(),unsafe.Sizeof()函数计算表达式的值 fmt.Println(a1, b1, c1) // 使用iota进行枚举 const ( h1 = iota h2 = "hello" h3 = "xiaozhu" h4 = "你真6" h5 = "下一句是5" h6 = iota //此时如果不这么搞的话会使h6的值与h5一样 ) const ( h7 = 3 << iota h8 h9 h10 ) fmt.Println(h1, h2, h3, h4, h5, h6) //这里打印0 hello xiaozhu 你真 下一句是5 5 fmt.Println("iota重置") fmt.Println(h7, h8, h9, h10) //这里打印3 6 12 24是因为h8910没有赋值初值均为3进行左移运算iota分别是0123代表3进行左移多少位 //h7是3左移0位,h8是3左移1位,h9是3左移2位,h10是3左移3位 }
GO GO GO !