这篇文章主要讲解了“Golang中常用的基本数据类型有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Golang中常用的基本数据类型有哪些”吧!Golang 是一种强类型语言,变量使用时需要进行强制类型定义,一旦某一个变量被定义,如果不经强制转换,那么它永远就是该类型。Golang 推荐使用驼峰式命名,如 QuoteRuneToASCII 和 parseRequestLine 等。定义变量的几种形式:注意:
Golang 中不允许出现未使用的变量,否则会报错 a declared and not used。但是全局变量是允许声明但不使用。Golang 的封装性由变量名第一个字母决定,大写字母开头的变量是可导出的变量,可以在包外使用,小写字母或者下划线开头的变量只能在本包内使用。“:=” 是一个变量声明语句,而 “=‘ 是一个变量赋值操作,一行中简短声明多个变量时,”:=” 语句中必须至少要声明一个新的变量。获取元素类型整型数字表示类型的比特长度,不同长度的类型是独立的,混合计算会报错int 的长度由硬件决定:也可以指定 int 的固定长度类型:浮点类型Golang 支持两种浮点型数值:float32 和 float64。可以使用 math 包中的常量获取浮点类型的边界值注意:浮点类型有精度限制,计算结果不准确,不推荐使用
需要进行浮点计算时,可以使用放大 100 倍的整数计算,计算完成再将结果缩小 100 倍复数Golang 自带了复数类型,分别为 complex64, complex128,定义时需要制定实部和虚部,如:布尔bool 类型,有 true 和 false 两种类型,要注意的是,和 python 不同,Golang 不会自动对变量识别 true or false,因此 if 1 这种方式是会报错的错误error,error 实际上是一种接口类型,后续会单独介绍,可以先参考官网文档 error document字符rune, byte 可用于表示单个字符,字符串,rune 数组,byte 数组之间可以相互转换,让我们从源码看看 byte 和 rune 的区别:可以看出,byte 为 1 字节的 uint8 数值,rune 为 4 字节的 int32 数值,通过下面的代码,可以看出一个中文字符占了三个字节,在 []byte{} 中长度为 3,string 和 []byte{} 的长度相等,string 实际上就是由 byte 数组实现的。字符串string 类型,与 python 不同,go 的字符串只能用 “” 或者 原始字符串引号 “(重音符号)字符串是不可修改的,对字符串进行修改操作时,会创建一个新的字符串赋值给当前字符串因此,如果涉及到大批量的字符串拼接或者修改的操作,效率会很低且耗费资源,推荐使用 bytes 包的 Buffer 来进行操作更多内容可查看官网文档 bytes document字符串常用操作获取字符串长度字符串本质上是字符数组,所以可以使用 len(s) 获取长度。
要注意的是对用户名等可能包含中文或其他字符的字符串进行判断时,使用 utf8 长度判断而不是 len() 判断,否则识别出来的长度是不正确的数值和字符串的相互转换int 转换为 stringint 转换为 string 不能直接 string(i),这样转完会变成空值int64 转换为 stringstring 转换为 int 型使用非数值的字符串转换为数值时会发生错误,比如 “abc” 转为数字或者使用空字符串,因此需要接收 error。string 转换为 int64string 和 slice 相互转换slice 转换为 stringstring 转换为 slice字符串替换使用 strings 包的 Replace 函数进行字符串替换指针如果用“var x int”声明语句声明一个x变量,那么 &x 表达式(取x变量的内存地址)将产生一个指向该整数变量的指针,指针对应的数据类型是 *int ,指针被称之为“指向int类型的指针”。同时 *p 表达式对应p指针指向的变量的值。任何类型的指针的零值都是 nil。如果 p != nil 测试为真,那么 p 是指向某个有效变量。指针之间也是可以进行相等测试的,只有当它们指向同一个变量或全部是nil时免费云主机域名才相等。自定义类型type 类型名字 底层类型这种操作的意义在于赋予相同基本类型(比如 float64)的变量不同的含义,比如华氏温度和摄氏温度,这两种温度被定义成不同的数据类型,可以避免混用不同的温度单位,产生错误的计算结果。常量go 使用 const 创建常量,它们在编译时被创建,只能是数字、字符串或布尔
值。可以使用 iota 生成枚举值,第一个iota 表示为0,当iota 再次在新的一行使用时,它的值累加 1。第一行之外的 = iota 可以省略,只要出现了一次 iota, 当前 const 结构中后面每一行 iota的值加1。格式化输出使用 fmt 包进行格式化输出,可参考链接
格式化输出方式强制类型转换注意:将长类型强制转换为短类型时会发生截断感谢各位的阅读,以上就是“Golang中常用的基本数据类型有哪些”的内容了,经过本文的学习后,相信大家对Golang中常用的基本数据类型有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是百云主机,小编将为大家推送更多相关知识点的文章,欢迎关注!
本篇内容主要讲解“ubuntu不解析php文件如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ubuntu不解析php文件如何解决”吧! ubuntu不解析php文件的解决办法:1、彻底卸载“libapach…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。