Golang学习笔记-基本类型

土豆吞噬者 · · 125 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

整型

类型名称 有无符号 大小
int8 1字节
int16 2字节
int32 4字节
int64 8字节
uint8 1字节
uint16 2字节
uint32 4字节
uint64 8字节
int 编译的目标平台为32位时占4字节,64位占8字节
uint 编译的目标平台为32位时占4字节,64位占8字节
rune 同int32
byte 同uint8
uintptr 同uint

rune表示一个Unicode code point,本质上是int32。
byte强调数值是原始数据而不是一个小的整数,本质上是uint8。
uintptr用于指针运算,本质上是uint。

浮点型

Go提供了两种浮点数类型,float32和float64,分别占用4字节和8字节,它们的算术规范由IEEE754浮点数国际标准定义。

复数型

Go提供了两种复数类型,complex64和complex128,分别占用8字节和16字节,complex函数用于构建复数,real和imag函数分别返回复数的实部和虚部。

布尔型

布尔型的值只可以是 true 或者 false,例如var b bool = true,布尔型占用1字节。

字符串

Go 的字符串使用 UTF-8 编码,内置的len函数可以返回一个字符串中的字节数(不是rune数)。

使用反引号(键盘上1左边)括起来的字符串为原生字符串,原生字符串会原样输出,没有转义操作。

func main() {
    var value1 string="hello"
    var value2 string=` world \n \b \n \r`
    fmt.Println(value1+value2)//hello world \n \b \n \r
}

使用下标遍历的是字符串中的字节,使用for range可以遍历字符串中的rune。

func main() {
    s := "你好世界"
    for i:=0; i < len(s); i++{
        fmt.Printf("%c", s[i])//乱码
    }
    fmt.Printf("\n")
    for _, v := range s {
        fmt.Printf("%c", v)//你好世界
    }
}

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:土豆吞噬者

查看原文:Golang学习笔记-基本类型

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:1006366459

125 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传