golang基础--常量与运算符
程序员文章站
2022-03-11 16:09:25
常量与运算符 常量的定义 常量的值在编译时已经确定 常量的定义格式与变量的基本相同 等号的右侧必须是常量或者常量表达式 规范: 常量定义时建议都使用大写,单词之间使用大写 便于包的外部调用 如果只限于包内部使用在常量开头使用 或者使用小写 常量与全局变量的区别 常量表达式里面必须使用常量表达式的变量 ......
常量与运算符
常量的定义
常量的值在编译时已经确定
常量的定义格式与变量的基本相同
等号的右侧必须是常量或者常量表达式
规范: 常量定义时建议都使用大写,单词之间使用大写
- 便于包的外部调用
-
如果只限于包内部使用在常量开头使用
_
或者使用小写c
//常量赋值 package main import "fmt" const a int = 1 //常规写法:声明类型 const b = 'A' //自动判断类型 const( c = a d = a + 1 e = a + 2 ) const ( //常量组定义方法2 a2, b2, c2 = 1, "2", "c" ) const a3, b3, c3 = 1, "2", "c" //简单写法,多个定义 const ( //常量组特性:如果常量没有赋值,下面默认使用了之前的常量表达式 a4 = 1 b4 c4 d4 ) func main() { fmt.Println(a4) fmt.Println(b4) fmt.Println(c4) fmt.Println(d4) } /*output 1 1 1 1 */
常量与全局变量的区别
-
常量表达式里面必须使用常量表达式的变量和内置函数,不能使用运行时才能获得的变量和值
package main import "fmt" var sss = 123 const ( //a = len(sss) //这种写法是错误的,无法使用全局变量 b = "123" c = len(b) d,f = 1,"abc" j //这种方式也是错误的,初始化的个数必须相同 ) func main() { //fmt.Println(a) fmt.Println(b) fmt.Println(c) fmt.Println(d) } /*output 123 3 3 */
枚举结合常量组使用,用于计数
常量组中每定义一个常量,计数就递增1,第一个常量默认为0
-
当组中常量出现关键字
iota
时,说明此时需要使用该组常量的计数//常量&枚举(计数) package main import "fmt" const ( B1 = "ssss" A = "a" B = iota E F = iota ) func main() { fmt.Println(B1) fmt.Println(A) fmt.Println(B) fmt.Println(E) fmt.Println(F) } /*output ssss //iota =0 a //iota=1 2 //iota =2 3 4 */
运算符
- go中运算符均时从左到右