Go-变量篇
一、变量的声明方式(三种)
1、var a int = num
2、var a = num
3、a := num
二、字符类型使用细节
*Golang的字符使用UTF-8.
英文 -1 字节;汉字-3个字节
1、字符常量用单引号括起来。
eg: var c1 byte='a'
2、在Go中,字符的本质是一个整数,直接输出时,是该字符对应的UTF-8的码值
3、字符类型可以进行运算,相当于一个整数
三、布尔类型使用细节
1、bool类型占用1个字节
2、只能取false true,无法强转。即不能用0或非0整数替代false和true
四、字符串类型使用细节
Go的字符串是由单个字节连接而来,而不是字符
1、简单使用
2、Go中字符串不可变:一旦赋值,不可修改
3、字符串的两种表现形式:
(1)双引号:会识别转义字符
(2)反引号:以字符串的原生形式输出。
4、字符串拼接
五、各种类型变量的默认值
六、基本数据类型的相互转换
Go在不能类型的变量之间赋值时需要显示转换。Golang中的数据类型不能自动转换
注意:1、被转换的是变量存储的数据(即值),变量本身的数据类型并没有变化
2、将大范围->小范围时,eg:int64->int8,编译不会报错,只是转换结果按溢出处理(截断),转换时需要考虑范围
eg: var num1 int64 = 999999
var num2 int8 = int8(num1)
fmt.Println("num2=",num2)
输出结果为63。原因:999999对应二进制:11110100001000111111,截取后八位转换为10进制为63
七:基本数据类型与string类型之间的转换
1、基本数据类型转string
方式一:fmt.Sprintf("%参数输出类型",表达式)
方式二:使用strconv包的函数:
func FormatBool(b bool)string
func FormatInt(i int,base int)string
base int :转换为多少进制的值(2-32)
func FormatFloat(f float64, fmt byte,prec ,bitSize int)string
2、string转基本数据类型
注意事项:当字符串无法转换为基本数据类型的值时,将使接收变量的值置为默认值(bool型为false)
func ParseInt(s string, base int, bitSize int) (i int64, err error) 接收ParseInt转换后数据的类型必须为int64;bitSize值指的是string的值所属范围
func ParseFloat(s string, bitSize int) (f float64, err error)
接收ParseFloat转换后的数据的类型必须为float64。当 bitSize=32 时,结果仍然是 float64 类型,但它可以转换为 float32 而不会改变它的值
八、标识符
不能以单独"_"作为标识符,但可以位于标识符首位;不能以数字开头,且不包含“-”和空格
1)包名:package的名字和目录保持一致
2)变量名、函数名、常量名首字母大写表示公开,小写表示私有