分享
Golang学习笔记3——常量与运算符
marks-gui · · 1920 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
1.常量的定义
常量的值在编译时就已经确认
常量的定义格式与变量基本相同
等号右侧必须是常量或者常量表达式
常量表达式中的函数必须是内置函数
//定义单个常量
const a int = 1
const b = "A"
const (
text = "123"
length = len(text)
num = b * 20
)
//同时定义多个变量
const i, j, k = 1, "2", "3"
const (
text2 ,length2, num2 = "456", len(text2), k* 10
)2.常量的初始化规则
- 在定义常量组时,如果不提供初始值,则表示使用上行的表达式
var a = 1
const (
b = a
//此时报错,因为全局变量在编译时不能确定值,常量必须是编译时能确定值的或使用内置函数获得的值(eg:len())
)
const (
a = "A"
b
c
//此时 a,b,c都为"A"
)
const (
a, b = 1, "A"
c, d
//a,c为1,b,d为"A"。此时注意下行的常量个数必须与上行数量保持一致
)3.常量的枚举
使用相同的表达式不代表具有相同的值
iota是常量的计数器,从0开始,组中每定义1个常量自动递增1
通过初始化规则与iota可以达到枚举的效果
每遇到一个const关键字,iota就会重置为0
const (
a = "A"
b
c = iota
d //d的值为3,因为在常量组中,定义了4个变量所以iota计数器从0开始计数4次,所以为3
)4.运算符
//优先级从高到低
* / % << >> & &^
= - | ^
== != < <= >= >
&&
||例子:
/*
6的二进制:0110 第一个
10的二进制:1011 第二个
---------
& 0010 = 2 (两个都是1才为1)
| 1111 = 15 (一个是1就是1)
^ 1101 = 13 (两个只有一个是1才是1)
$^ 0100 = 4 (第二个为1则是0,否则与第一位相同)
*/有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信1920 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
1.常量的定义
常量的值在编译时就已经确认
常量的定义格式与变量基本相同
等号右侧必须是常量或者常量表达式
常量表达式中的函数必须是内置函数
//定义单个常量
const a int = 1
const b = "A"
const (
text = "123"
length = len(text)
num = b * 20
)
//同时定义多个变量
const i, j, k = 1, "2", "3"
const (
text2 ,length2, num2 = "456", len(text2), k* 10
)2.常量的初始化规则
- 在定义常量组时,如果不提供初始值,则表示使用上行的表达式
var a = 1
const (
b = a
//此时报错,因为全局变量在编译时不能确定值,常量必须是编译时能确定值的或使用内置函数获得的值(eg:len())
)
const (
a = "A"
b
c
//此时 a,b,c都为"A"
)
const (
a, b = 1, "A"
c, d
//a,c为1,b,d为"A"。此时注意下行的常量个数必须与上行数量保持一致
)3.常量的枚举
使用相同的表达式不代表具有相同的值
iota是常量的计数器,从0开始,组中每定义1个常量自动递增1
通过初始化规则与iota可以达到枚举的效果
每遇到一个const关键字,iota就会重置为0
const (
a = "A"
b
c = iota
d //d的值为3,因为在常量组中,定义了4个变量所以iota计数器从0开始计数4次,所以为3
)4.运算符
//优先级从高到低
* / % << >> & &^
= - | ^
== != < <= >= >
&&
||例子:
/*
6的二进制:0110 第一个
10的二进制:1011 第二个
---------
& 0010 = 2 (两个都是1才为1)
| 1111 = 15 (一个是1就是1)
^ 1101 = 13 (两个只有一个是1才是1)
$^ 0100 = 4 (第二个为1则是0,否则与第一位相同)
*/