多重赋值
交换两个变量的值
匿名变量
tmp=10
_匿名变量配合函数返回值使用,才有优势
c = 1, d = 2, e = 3
d = 2, e = 3
常量的使用
常量的定义
变量:程序运行期间,可以改变的量,变量声明需要var
常量:程序运行期间,不可以改变的量,常量声明需要const
b type is float64
b = 11.2
多个变量或变量的定义
选中代码,按ctrl+,注释和取消注释代码的快捷键
iota枚举
1、iota常量自动生成器,每隔一行自动累加1
2、iota给常量赋值使用
3、iota遇到const,重置为0
d = 0
4、可以只写一个iota(成员一样时)
5、如果是同一行,值都一样
i = 0, j1 = 1, j2 = 1, j3 = 1, k = 2
类型的分类
go语言内置的基础分类
u 表示无符号
bool类型
1、声明变量,没有初始化,零值(初始值)为false
2、自动推导类型
浮点类型
float64存储小数比float32更准确
字符类型:
ASCII码
a, 97
a, 97
大写:65, 小写:97
大写转小写:a
小写转大写:A
’\‘以反斜杠开头的字符是转义字符
'\n’代表换行
字符串类型
str1 = abc
str2 类型是 string
len(str2) = 4
字符和字符串的区别
字符
1、单引号
2、字符,往往都只有一个字符,转义字符除外’\n’
字符串
1、双引号
2、字符串有一个或多个字符组成
3、字符串都是隐藏了一个结束符,’\0’
只想操作字符串中的某个字符,从0开始操作
复数类型
通过内建函数,取实部和虚部
格式化输出
%T 操作变量所属类型
int, string, int32,float64
%d 整型格式
%s 字符串格式
%c 字符格式
%f 浮点类型格式
%v 自动匹配格式
变量的输入
类型转换
1、不能转换的类型叫不兼容类型
bool类型不能转换为int
0就是假,非零就是真
整型也不能转换为bool
2、兼容类型
类型别名
运算符
算数运算符
关系运算符
逻辑运算符
非0就是真,0就是假
go语言不支持 0<=a<=10
位运算符
赋值运算符
其他运算符
运算符优先级
流程控制
go语言支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构
顺序结构:程序按顺序执行,不发生跳转
选择结构:依据是否满足条件,有选择的执行相应功能
循环结构:依据条件是否满足,循环多次执行某段代码
if的使用
条件通常都是关系运算符
if支持1个初始化语句,初始化语句和判断条件以分号分隔
if-else 的使用
if-else的运行效率高于多个if
switch的使用
go语言保留了break关键字,跳出switch语言,不写,默认就包含
fallthrough不跳出,后面的无条件执行
循环语句
for循环的使用
for 初始条件 ; 判断条件 ; 条件变化
1)初始条件 i := 1
2)判断条件是否为真, i <= 100, 如果为真,执行循环体,如果为假,跳出循环
3)条件变化 i++
4)重复2, 3, 4
range的使用
跳转语句
break和continue的区别
1、goto可以用在任何地方,但不能跨函数使用
2、无条件实现跳转
3、定义了标签才可以使用