探索如何在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、字符串拼接
五、各种类型变量的默认值
六、基本数据类型的相互转换
显示转换:byte——int byte——string 该边变量值的转换
隐式转换:int——float64 int——string 不改变变量值的转换
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
方式一:
string=fmt.Sprintf("%参数输出类型",表达式)
方式二:使用strconv包的函数:
1)bool——>str
func FormatBool(b bool)string
2)int——>str
func FormatInt(i int,base int)string base int :转换为多少进制的值(2-32)
3)float——>str
func FormatFloat(f float64, fmt byte,prec ,bitSize int)string
2、string转基本数据类型
注意事项:当字符串无法转换为基本数据类型的值时,将使接收变量的值置为默认值(bool型为false)
1)str——>int
func ParseInt(s string, base int, bitSize int) (i int64, err error) 接收ParseInt转换后数据的类型必须为int64;bitSize值指的是string的值所属范围
2)str——>Float
func ParseFloat(s string, bitSize int) (f float64, err error)
接收ParseFloat转换后的数据的类型必须为float64。当 bitSize=32 时,结果仍然是 float64 类型,但它可以转换为 float32 而不会改变它的值
八、标识符
不能以单独"_"作为标识符,但可以位于标识符首位;不能以数字开头,且不包含“-”和空格
1)包名:package的名字和目录保持一致文章来源:https://www.toymoban.com/news/detail-495600.html
2)变量名、函数名、常量名首字母大写表示公开,小写表示私有文章来源地址https://www.toymoban.com/news/detail-495600.html
到了这里,关于Go语言变量使用指南:声明、类型转换与字符串操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!