最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

热点聚焦: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 而不会改变它的值

关键词: