欢迎光临
我们一直在努力

【Go-3】基本数据类型

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}

说明

本文介绍 Go 语言中,基本数据类型

整数型

如下

var n1 uint8 = 1
var n2 uint16 = 2
var n3 uint32 = 3
var n4 uint64 = 4
var n5 uint = 5
var n6 int8 = 6
var n7 int16 = 7
var n8 int32 = 8
var n9 int64 = 9
var n10 int = 10

需要注意的是,

  • 不声明的情况下,默认类型是 int,如下

var n = 12;

  • 带 u 表示无符号,只能存非负整数,即正整数和零;

  • 末尾的数字,表示用来表示二进制数字的位数有多少个,如 uint8,表示用 8 位二进制表示数字;

  • uint8 也可以用 byte 表示;

  • int 类型的大小取决于所使用的平台,32 位系统占 4 字节,64 位占 8 字节;

  • 没有 int2、int7、int11 这种类型,数字只有 8、16、32、64 或者不带;

浮点型

go 语言中有两种浮点型:float32、float64

  • float32:最大范围约为 3.4e38,可用常量 math.MaxFloat32 表示;

  • float64:最大范围约为 1.8e308,可用常量 math.MaxFloat64 表示;

没有显式声明,默认 float64

fmt.Println(math.MaxFloat32)
fmt.Println(math.MaxFloat64)

如下

在这里插入图片描述

字符型

go 语言中的字符类型,分单字节字符(byte)、多字节字符(rune),都用单引号表示

  • 单字节字符(byte):一个字节可表示的字符,Ascii 码表中的字符;

  • 多字节字符(rune):多个字节表示的字符;

单字节字符,源码中就等于 uint8,可直接当作整数用于算数计算,如下

// 单字节字符,既是字符也是 uint8
var d byte = 'a'
fmt.Printf("%c %d\\n", d, d)

// 计算
d += 10
fmt.Println(d)

执行如下

在这里插入图片描述

看下源码

在这里插入图片描述

多字节字符,用于表示 ascii 码表之外的字符,如汉字、俄文等其他非英语国家的文字字符,用 rune 定义

// 多字节字符是 rune 类型,对应 Unicode 码
var zhongguo rune = '中'
fmt.Printf("%c %d\\n", zhongguo, zhongguo)

如下

在这里插入图片描述

字符串类型

字符串类型,双引号表示,如下

var zhongguo string = "中国"
fmt.Println(zhongguo)

需要注意以下转义字符

  • \\t:空一个制表符号的宽度;

  • \\n:回车符;

  • ":双引号;

  • \\r:清空前面的字符串,将当前位置移到行首;

  • \\:反斜杠转义;

如下

fmt.Println("xiao\\the")
fmt.Println("xiao\\nhe")
fmt.Println("xiao\\"he\\"")
fmt.Println("xiao\\rhe")
fmt.Println("\\\\xiao\\\\he")

执行如下

在这里插入图片描述

多行字符串,用反引号表示(`),如下,多行字符串中,转义字符不生效,会原样输出

var name string = `这是
一段
多\\t\\t\\t\\t行
字符\\n\\n\\n\\串`

fmt.Println(name)

如下

在这里插入图片描述

布尔类型

布尔(boolean)类型,只有两个备选值,true 或 false

需要注意的是,

  • 布尔类型默认值为 false;

  • Go 语言中不允许将整型强制转为布尔类型;

  • 布尔类型不能参与算术运算;

如下

var b bool = true
var f bool
fmt.Println(b, f)

执行如下

在这里插入图片描述

补充

对于以上基本数据类型,只声明不赋值的情况下,对应的值如下,

  • int:0;

  • bool:false;

  • string:“”(空串);

var i int
var b bool
var s string
fmt.Printf("%T %#v\\n", i, i)
fmt.Printf("%T %#v\\n", b, b)
fmt.Printf("%T %#v\\n", s, s)

执行如下

在这里插入图片描述

除以上五种基本数据类型外,还有一种复数类型,如下,

var f1 complex64 = 1 + 2i
fmt.Println(f1)

var f2 complex128 = 1 + 2i
fmt.Println(f2)

参考

B站:8小时带你快速入门Go语言

赞(0)
未经允许不得转载:171主机测评 » 【Go-3】基本数据类型
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址