Go语言入门教程(五)

Go语言系列教程(五)

Hello,各位小伙伴,大家好,我是小栈君,马上就是我们伟大祖国的70华诞了,所以在这里小栈君也祝愿大家有一个愉快的国庆节。

当然在放假的同时也别忘了学习哦,小栈君在这里也会陪着大家一起学习和进步。闲话不多说,我们开始今天的分享。

上一期我们讲了关于go语言的常量、枚举和基础数据类型,本期我们接着上期所讲的数据类型进行统一讲解一番。

总体来讲,Go语言的数据类型主要分为,布尔类型、字符类型、整型、浮点型、字符串类型和复数类型这几种。我们这次主要来以此实例化一下这几个类型。

布尔类型

我们先用代码表示一下布尔类型定义方法一 自己定义

var tag bool // 定义一个布尔类型的标志

tag = true // 进行赋值

fmt.println(tag) // 打印

方法二 利用系统进行推导

tag = (1 == 2 ) // 先进性比较 得出比较结果 然后赋值给tag

fmt.println(tag) // 打印

各位小伙伴请注意,布尔值类型不能接受其他类型的赋值,不支持自动或则强制类型转换。

说到这里,兴许有的小伙伴会想到我们在数据库中会用到 0表示true 1表示false ,所以这里小栈君给大家提个醒哦。

整型

Go语言同时提供了有符号和无符号的整数类型,其中包括 int8、int16、int32 和 int64 四种大小截然不同的有符号整数类型。

分别对应 8、16、32、64 bit(二进制位)大小的有符号整数,与此对应的是 uint8、uint16、uint32 和 uint64 四种无符号整数类型。

此外还有两种整数类型 int 和 uint,它们分别对应特定 CPU 平台的字长(机器字大小),其中 int 表示有符号整数,应用最为广泛,uint 表示无符号整数。

实际开发中由于编译器和计算机硬件的不同,int 和 uint 所能表示的整数大小会在 32bit 或 64bit 之间变化。

大多数情况下,我们只需要 int 一种整型即可,它可以用于循环计数器(for 循环中控制循环次数的变量)、数组和切片的索引,以及任何通用目的的整型运算符,通常 int 类型的处理速度也是最快的。

用来表示 Unicode 字符的 rune 类型和 int32 类型是等价的,通常用于表示一个 Unicode 码点。

这两个名称可以互换使用。同样,byte 和 uint8 也是等价类型,byte 类型一般用于强调数值是一个原始的数据而不是一个小的整数。

在go语言中整型就是没有小数点的整数类型,它的定义也是有两种类型,第一种是自定义类型,第二种的系统推导类型

size int64 = 1024

carry = -1 // 整型常量, 自动推导类型

浮点型

资料显示Go语言提供了两种精度的浮点数 float32 和 float64,它们的算术规范由 IEEE754 浮点数国际标准定义,该浮点数规范被所有现代的 CPU 支持。

这些浮点数类型的取值范围可以从很微小到很巨大。浮点数的范围极限值可以在 math 包找到,常量 math.MaxFloat32 表示 float32 能表示的最大数值,大约是 3.4e38。

对应的常量 math.MaxFloat64 表示 float64 能表示的最大数值,大约是 1.8e308。float32 和 float64 分别能表示的最小值约为 1.4e-45 和 4.9e-324。

但是小伙伴请注意的一点是 在go语言自动推导的过程中如果我们定义一个数字为16,想要他是16.0的话只能通过自定义类型,如果是系统推导的话会当做整型处理。所以大家值得注意一下。

字符类型

在go语言中支持两种字符类型,一种是 uint8 类型,或者叫 byte 型,代表了 ASCII 码的一个字符。,另一个是rune代表单个Unicode的值。

代表一个 UTF-8 字符。当需要处理中文、日文或者其他复合字符时,则需要用到 rune 类型。rune 类型实际是一个 int32。

讲到这里大家可能有点不太明白rune的用法了 举个栗子说明吧,有时候我们写中文,在计数的时候我们需要判断有多少个字节呢,又或者多少个字节代表一个汉字呢。

其实在go语言中一个汉字代表3个字节,但是我们就是想要计数成一个字节。这个时候就可以用rune来进行实现了,当然除了中文,其他国家的文字都可以进行处理。

字符串

在go语言中字符串也是一种基础类型,同样的他也能够自定义类型和系统推导,小栈君特意为大家准备了一个大栗子,又顺便解释了一下关于rune的用法,如图所示:

其中可以看到我们定义的字符串如果没有用rune来包装一下,在取值的时候会出现乱码的情况,而且一个小知识点是反引号的使用。

他可以原样输出我们们转义字符,在我们需要大片文章的同时,可以不用在意转义的使用,是不是很方便呢。

复数类型

复数类型主要是在科学计算中使用,比如后面我们会讲到的欧拉公式使用代码进行表示是怎么样的等。

在go语言中复数实际上由两个实数(在计算机中用浮点数表示)构成,一个表示实部(real),一个表示虚部(imag)。

var v1 complex64 // 由2个float32构成的复数类型

v1 = 3.12 + 6i

v2 := 3.12 + 12i // v2是complex128类型

v3 := complex(3.12, 12) // v3结果同v2

fmt.Println(v1, v2, v3)

//内置函数real(v1)获得该复数的实部

//通过imag(v1)获得该复数的虚部

fmt.Println(real(v1), imag(v1))

以上就是今天的分享啦,涉及到点还是有点多,希望小伙伴能够好好消化。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

php编程基础教程.pptx|php编程培训,php,编程,基础,教程,pptx
php编程基础教程.pptx

历史上的今天:04月17日

热门专题

卓越综合高中|卓越综合高中
卓越综合高中
云南高职单招|云南单招,云南单招网,云南高职单招网,云南高职单招,云南单招学校,云南单招培训
云南高职单招
云南网站建设|云南网站制作,网站建设,云南网站开发,云南网站设计,云南网页设计,云南网站建设公司,云南网站建设
云南网站建设
易捷尔高职单招|易捷尔高职单招,易捷尔高职单招培训,单招分数线,单招录取分数线,高职单招学校分数线
易捷尔高职单招
一年制中专|中专学历,中专是什么学历,中专是什么,中专有什么专业,中专升大专,一年制中专
一年制中专
云南综合高中|云南综合高中
云南综合高中
云南开放大学|云南开放大学报名,云南开放大学报考,云南开放大学,什么是云南开放大学,云南开放大学学历,云南开放大学学费,云南开放大学报名条件,云南开放大学报名时间,云南开放大学学历,云南开放大学专业
云南开放大学
安徽中源管业有限公司|安徽中源管业有限公司,安徽中源管业有限公司介绍,安徽中源管业有限公司电话,安徽中源管业有限公司地址,安徽中源管业有限公司厂家,安徽中源管业有限公司电力管,安徽中源管业有限公司管材
安徽中源管业有限公司

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部