Go学习笔记(三)
位运算符和移位运算符
Golang中有3个位运算
分别是 按位与&,按位或|,按位异或^,它们的运算规则是:
按位与& : 两位全为1,结果为1,否则为0
按位或| :两位有一个为1,结果为1,否则为0
按位异或^ :两位一个为0,一个为1,结果为1,否则为0
比如
2&3 = 0000 0010 = 2
2的补码 0000 0010
3的补码 0000 0011
2|3 = 0000 0011 = 3
2的补码 0000 0010
3的补码 0000 0011
2^3 = 0000 0001 = 1
2的补码 0000 0010
3的补码 0000 0011
-2^2 = 1111 1100 = -4
-4 反码 1111 1011 -》 原码 1000 0100
-2的补码1111 1110
2的补码 0000 0010
Golang中的两个移位运算:
>>、<<右移和左移,运算规则:
右移运算符 >> : 低位溢出,符号位不变,并用符号位补益出的高位
左移运算符 << : 符号位不变,低位补0
a := 1>>2 (2是代表位移位数)
1的补码0000 0001 -> 0000 0000 = 0
c := 1<<2
1的补码0000 0001 -> 0000 0100 = 4
b := -1 >> 2
-1 的补码是 1000 0001 —》 1000 0001 = -1
d = -1 << 2
-1 补码是 1000 0001 -> 1000 0100 = -4
程序流程控制
1、顺序控制
2、分支控制
3、循环控制
顺序控制
程序从上到下逐行地执行,中间没有任何判断和跳转。
顺序控制举例和注意事项
注意事项
从上到下逐行执行,前提是中间没有任何判断和跳转
Golang中定义遍历时采用合法的前向引用
就是变量要先声明再使用
分支控制
让程序有选择的执行,分为三种
1、单分支
2、双分支
3、多分支
单分支
基本语法
if 表达式 {
执行代码
}
注意:只有条件表达式为true,就会执行{}的代码
{}必须要有
go支持在一个if中直接定义变量,作用域只在判断你,
if age := 20;age > 18 {
fmt.Println("要对自己的行为负责")
}
双分支
基本语法
说明:当套件表达式成立,即执行代码1,否则执行代码2。 {}也是必须要有
多分支
if else if else
else不是必须的
多分支只有一个执行入口
执行完入口以后多分支就退出不再判断
嵌套分支
在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支的结构称为内层分支外面的分支结构称为外层分支
基本语法
if 条件表达式 {
if 条件表达式 {
} else {
}
}
说明:嵌套分支不宜过多,建议控制在3层内(良好的编程习惯)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现