Go语言中的基本数据类型介绍
本篇内容主要讲解“Go语言中的基本数据类型介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Go语言中的基本数据类型介绍”吧!
创新互联公司是一家集成都网站建设、网站设计、网站页面设计、网站优化SEO优化为一体的专业网站设计公司,已为成都等多地近百家企业提供网站建设服务。追求良好的浏览体验,以探求精品塑造与理念升华,设计最适合用户的网站页面。 合作只是第一步,服务才是根本,我们始终坚持讲诚信,负责任的原则,为您进行细心、贴心、认真的服务,与众多客户在蓬勃发展的市场环境中,互促共生。
Go 语言是一种静态类型的编程语言,在 Go 编程语言中,数据类型用于声明函数和变量。数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。
布尔型
布尔类型的值只有两种:true 或 false。在if 和 for 语句的条件部分都是布尔类型的值,并且 == 和 < 等比较操作也会产生布尔型的值。
一元操作符 ! 对应逻辑非操作,因此 !true 的值为 false,更复杂一些的写法是 (!true==false) == true,实际开发中我们应尽量采用比较简洁的布尔表达式,就像用 x 来表示 x==true。
var a = 10 fmt.Println(a == 10) // true fmt.Println(a == 5) // false fmt.Println(a != 10) // false fmt.Println(a != 5) // true
Go 语言对于值之间的比较有非常严格的限制,只有两个相同类型的值才可以进行比较,如果值的类型是接口(interface),那么它们也必须都实现了相同的接口。如果其中一个值是常量,那么另外一个值可以不是常量,但是类型必须和该常量类型相同。如果以上条件都不满足,则必须将其中一个值的类型转换为和另外一个值的类型相同之后才可以进行比较。
var a = 10 fmt.Println(a == true) // cannot use true (type untyped bool) as type int
布尔值可以和 &&(AND)和 ||(OR)操作符结合,并且有短路行为,如果运算符左边的值已经可以确定整个布尔表达式的值,那么运算符右边的值将不再被求值,因此下面的表达式总是安全的:
s != "" && s[0] == 'x'
Go 语言中不允许将整型强制转换为布尔型,代码如下:
var n bool fmt.Println(int(n) * 2) // cannot convert n (type bool) to type int
数值型
Go 语言的数值类型分为以下几种:整数、浮点数、复数。其中每一种都包含了不同大小的数值类型,例如有符号整数包含 int8、int16、int32、int64 等,每种数值类型都决定了对应的大小范围和是否支持正负符号。本小节我们主要介绍一下数值类型。
整型
Go 语言也是基于架构的类型,同时提供了有符号和无符号的整数类型。
大多数情况下,我们只需要 int 一种整型即可,它可以用于循环计数器(for 循环中控制循环次数的变量)、数组和切片的索引,以及任何通用目的的整型运算符,通常 int 类型的处理速度也是最快的。
浮点型
Go 语言提供了两种精度的浮点数:float32 和 float64,这些浮点数类型的取值范围可以从很微小到很巨大。
复数
复数是由两个浮点数表示的,其中一个表示实部(real),一个表示虚部(imag)。
Go 语言中复数的类型有两种,分别是 complex128(64 位实数和虚数)和 complex64(32 位实数和虚数),其中 complex128 为复数的默认类型。
复数的值由三部分组成 RE + IMi,其中 RE 是实数部分,IM 是虚数部分,RE 和 IM 均为 float 类型,而最后的 i 是虚数单位。如:1+2i
字符串型
字符串是一种值类型,且值不可变,即创建某个文本后将无法再次修改这个文本的内容,其实,字符串是字节的定长数组。
使用双引号 "" 来定义字符串,字符串中可以使用转义字符来实现换行、缩进等效果,常用的转义字符包括:
\n:换行符
\r:回车符
\t:tab 键
\u 或 \U`:Unicode 字符
\\:反斜杠自身
Go 语言比其他语言更加的灵活,此外,可通过反引号 ` 可以定义多行字符串。(注意:是反引号 `(键盘上1键左边键),而不是引号 ‘)
到此,相信大家对“Go语言中的基本数据类型介绍”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
名称栏目:Go语言中的基本数据类型介绍
当前URL:http://ybzwz.com/article/jjosod.html