数据类型:
1、数值类型,字符串类型和布尔型
2、派生类型;
3、类型零值和类型别名;
4、类型所占存储大小;
go语言
数据类型--整型、浮点型、复数、字符串和布尔型
数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才会申请大内存,就可以充分利用内存
布尔型的值,可以是常量true或者false,
字符串类型string,编码统一为:UTF-8
1、变量声明,初始化与赋值
2、变量可见性规则
3、常量、常量申明和iota的使用
单个变量声明和赋值
1)变量的声明格式:var <变量名称>[变量类型]
2)变量的赋值格式:<变量名称> = <值,表达式,函数等>
3)声明和赋值同时进行:var <变量名称> [变量类型] = <值,表达式,函数等>
4)分组声明格式:
var (
i int
j float32
name string
)
同一行声明多个变量和赋值:var a ,b,c int = 1,2,3或者a,b:=1,2
全局变量的声明必须使用var关键词,局部变量则可以省略;
特殊变量下划线"_";
变量的类型转换
go中不存在隐式转换,类型转换必须是显示的;
类型转换只能发生在两种兼容类型之间;
类型转换格式:<变量名称> [:] = <目标类型>(<需要转换的变量>)
变量可见效规则
大写字母开头的变量是可导出的,也就是其他包可以读取的,是公用变量;
小写字母开头的就是不可导出的,是私有变量
go-常量
常量定义形式和常量的类型范围
特殊常量iota的使用
常量定义从形式上可分为显示和隐式:
显示:const identifier [type] = value
隐式:const identifier = value(通常叫无类型常量)
常量可以使用内置表达式定义,例如:len(),unsafe.Sizeof()等
常量范围目前只支持布尔型、数字型(整数型、浮点数型和复数)和字符串
特殊常量:iota
iota在const关键字时,将会被重置为0;
const中每新增一行常量申明将使iota计数一次
iota常见使用法:
1)跳值使用法;
2)插队使用法;
3)表达式隐式使用法;
4)单行使用法;
const (
a = iota
b = iota
_
c
)
//a:0
//b"1
//c:2
//插队使用法
const(
a = iota
b = 3.14
c = iota
)
//a:0
//b:3.14
//c:2
const(
a = iota * 2
b = iota
c = iota
)
//a:0
//b:1
//c:2
const (
a = iota * 2
b
c
)
//a:0
//b:2
//c:4
//在没有表达式的时候,自动向上使用非空表达式
const(
a,b = iota, iota+3
c,d
f = iota
)
//a:0
//b:3
//c:1沿用iota
//d:4沿用iota+3
//f:2恢复计数,格式和前面不一样