网易首页 > 网易号 > 正文 申请入驻

Go入门系列:基本类型之数值类型

0
分享至

Go语言体系中的基本数据类型总来的来说包括数值类型与字符串类型。

而数值类型又包含整型、浮点型、复数类型。

数值类型 整型

在Go语言中整型分为平台无关整型及平台相关整型,区别主要就在,这些整数类型在不同CPU 架构或操作系统下面,它们的长度是否是一致的。

平台无关整型

而无关整型又区分了有符号整型和无符号整型,其表示的数据范围是不一样的。

Go原生提供了三个平台相关整型,分别是int、uint 与 uintptr。

特别注意:在编写有移植性要求的代码时,千万不要强依赖这些类型的长度。

可以通过 unsafe 包提供的 SizeOf 函数来获取三个整型在平台上的长度。

func main() {
var a, b = int(5), uint(6)
var p uintptr = 0x12345678
fmt.Println("signed integer a's length is", unsafe.Sizeof(a))
fmt.Println("unsigned integer b's length is", unsafe.Sizeof(b))
fmt.Println("uintptr's length is", unsafe.Sizeof(p))

// 打印输出
signed integer a's length is 8
unsigned integer b's length is 8
uintptr's length is 8
格式化输出

go提供了标准库fmt包可以格式化输出不同进制的形式。

func main() {
var a int8 = 66
fmt.Printf("%b\n", a) //输出二进制:1000010
fmt.Printf("%d\n", a) //输出十进制:66
fmt.Printf("%o\n", a) //输出八进制:102
fmt.Printf("%O\n", a) //输出八进制(带0o前缀):0o102
fmt.Printf("%x\n", a) //输出十六进制(小写):42
fmt.Printf("%X\n", a) //输出十六进制(大写):42
浮点型

Go语言提供了float32与float64 两种浮点类型,它们分别对应的就是IEEE754中的单精度与双精度浮点数值类型, 这基本上对应于Java中的float和double类型。

Go语言对浮点类型的表示提供了两种方式, 十进制类型及科学计数法;而其中科学计数法又分为十进制和十六进制两种表示方法。

十进制表示法
.15 // 整数部分如果为0,整数部分可以省略不写
82. // 小数部分如果为0,小数点后的0可以省略不写
科学计数法十进制表示法:

6674.28e-2 // 6674.28 * 10^(-2) = 66.742800
.12345E+5 // 0.12345 * 10^5 = 12345.000000

十六进制表示法:

0x2.p10 // 2.0 * 2^10 = 2048.000000
0x1.Fp+0 // 1.9375 * 2^0 = 1.937500
格式化输出var f float64 = 112.676899
// 浮点类型第一种:十进制表示法
fmt.Printf("%f\n", f) // 112.676899
// 浮点类型第二种:科学计数法--十进制表示法
fmt.Printf("%e\n", f) // 1.126769e+02
// 浮点类型第二种:科学计数法--十六进制表示法
fmt.Printf("%x\n", f) // 0x1.c2b52502eec7dp+06
复数类型

Go 提供两种复数类型,它们分别是 complex64 和 complex128,complex64 的实部与虚部都是 float32 类型,而 complex128 的实部与虚部都是 float64 类型。如果一个复数没有显示赋予类型,那么它的默认类型为 complex128。

Go提供了三种表示方法。

  1. 使用复数字面值直接初始化一个复数类型变量

var c = 5 + 7i
var d = 0o123 + .12345E+5i // 83+12345i
  1. 使用Go提供的complex函数,创建一个complex128类型值

var c = complex(5, 6) // 5 + 6i
var d = complex(0o123, .12345E+5) // 83+12345i
  1. 使用Go提供的预定义的函数real和imag,可以获取一个复数的实部与虚部,返回值为一个浮点类型

var c = complex(5, 6) // 5 + 6i
r := real(c) // 5.000000
i := imag(c) // 6.000000
自定义数值类型

可以通过Go语言提供的type关键字基于原生数值类型来声明一个新类型。

比如,

type NewInt int32

NewInt是我们新定义的类型,底层是int32类型,但是和原生类型int32却是两种类型,无法直接进行赋值,需要进行显示转换才可以。

type NewInt int32

var m int = 5
var n int32 = 6
var a NewInt = NewInt(m) // ok
var b NewInt = NewInt(n) // ok

当然如果想要能够直接与原生类型直接赋值使用,Go提供了类型别名(Type Alias)语法来自定义数值类型。

type NewInt = int32

var m int32 = 5
var n NewInt = m
总结

Go 的原生数值类型有三类:整型、浮点型和复数型, 通过上面的简单介绍我们可以知道Go与大多数主流语言基本查不多,当然Go也有不一样的, 比如其原生支持复数类型。

参考资料:

极客时间-《Go语言第一课》

祝大家周二搬砖快乐。

--- End ---

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
李春江接任新主教练?杜锋拒绝续约广东队,换帅基本成为定局!

李春江接任新主教练?杜锋拒绝续约广东队,换帅基本成为定局!

绯雨儿
2026-06-26 11:14:36
摩根士丹利:光通信退潮,网络设备正成为新主线

摩根士丹利:光通信退潮,网络设备正成为新主线

新浪财经
2026-06-26 17:43:36
特斯拉中国为员工子女设奖学金:考上985、211最高奖5000元

特斯拉中国为员工子女设奖学金:考上985、211最高奖5000元

IT之家
2026-06-26 11:53:40
土耳其发生多起中国游客租驾汽车、摩托车、骑马等意外事故,多人受伤甚至死亡,中使馆紧急提醒

土耳其发生多起中国游客租驾汽车、摩托车、骑马等意外事故,多人受伤甚至死亡,中使馆紧急提醒

极目新闻
2026-06-26 17:09:22
美国发话也不行,中方正式通告全球:打日本,中国具备“正当性”

美国发话也不行,中方正式通告全球:打日本,中国具备“正当性”

凤语谈
2026-05-28 12:13:58
豆瓣9.4的国产神剧,正在被全网批判

豆瓣9.4的国产神剧,正在被全网批判

独立鱼
2026-06-27 00:05:34
一句话捅了马蜂窝!梅洛尼公开反驳吕特:意大利没参战,别乱说

一句话捅了马蜂窝!梅洛尼公开反驳吕特:意大利没参战,别乱说

相思赋予谁a
2026-06-27 02:38:42
A股:证监会最新出手,开出私募史上最重罚单!下周一将迎新变化

A股:证监会最新出手,开出私募史上最重罚单!下周一将迎新变化

云鹏叙事
2026-06-27 00:00:07
贝克汉姆也成“发面馒头”了?男神老去不可怕,可怕的是瞎折腾

贝克汉姆也成“发面馒头”了?男神老去不可怕,可怕的是瞎折腾

白露文娱志
2026-06-26 16:27:17
从狂赚到大亏15亿卢布!吉利长安在俄罗斯一年从天堂摔地狱

从狂赚到大亏15亿卢布!吉利长安在俄罗斯一年从天堂摔地狱

老马拉车莫少装
2026-05-11 14:18:27
温网首轮“缘分弄人”,吴易昺对战德约,郑钦文再战西尼亚科娃

温网首轮“缘分弄人”,吴易昺对战德约,郑钦文再战西尼亚科娃

极目新闻
2026-06-26 18:38:04
逆转四冠王!高原之鹰时隔20年再次小组出线 总统宣布全国放假1天

逆转四冠王!高原之鹰时隔20年再次小组出线 总统宣布全国放假1天

狍子歪解体坛
2026-06-26 10:11:26
为什么女人第一次同房后,后面不主动也不拒绝呢?

为什么女人第一次同房后,后面不主动也不拒绝呢?

思絮
2026-06-02 10:06:18
啥情况?李在明穿防弹背心,突然对中国强硬表态:韩国不会不管!

啥情况?李在明穿防弹背心,突然对中国强硬表态:韩国不会不管!

云舟史策
2026-06-26 07:06:24
卷巨额遗产出逃英国,给杨振宁戴绿帽子,翁帆身上的谣言有多离谱

卷巨额遗产出逃英国,给杨振宁戴绿帽子,翁帆身上的谣言有多离谱

叨唠
2026-05-27 04:13:37
17场16球5助攻,姆巴佩世界杯直接参与进球数升至历史第二

17场16球5助攻,姆巴佩世界杯直接参与进球数升至历史第二

懂球帝
2026-06-27 03:32:22
不配执法世界杯?美国女主裁连续犯错:被打出1.0分 FIFA应禁赛她

不配执法世界杯?美国女主裁连续犯错:被打出1.0分 FIFA应禁赛她

风过乡
2026-06-26 07:01:44
付某兵(男,1977年生)运毒近87公斤,已核准死刑

付某兵(男,1977年生)运毒近87公斤,已核准死刑

南方都市报
2026-06-26 08:14:48
我接受不了我女儿这样!女大学生晒和男友同居日常,家长心态崩了

我接受不了我女儿这样!女大学生晒和男友同居日常,家长心态崩了

世界圈
2026-06-25 12:34:13
重磅利好!铟定乾坤,磷化铟产能龙头开启长牛行情

重磅利好!铟定乾坤,磷化铟产能龙头开启长牛行情

趣味萌宠的日常
2026-06-26 07:31:03
2026-06-27 05:55:00
君伟说
君伟说
分享职场故事
456文章数 48关注度
往期回顾 全部

科技要闻

拿了500亿的梁文锋,只挖地基,不信销售

头条要闻

世界杯:塞内加尔5-0十人伊拉克 盖伊世界波双响

头条要闻

世界杯:塞内加尔5-0十人伊拉克 盖伊世界波双响

体育要闻

我在世界杯的每次奔跑,都为了证明你没看错

娱乐要闻

玥儿不回北京,马筱梅解释后妈身份

财经要闻

"索具龙头"领大额罚单

汽车要闻

11.99万起 捷途自由者7 PLUS/山海T1四驱版上市

态度原创

教育
本地
亲子
公开课
军事航空

教育要闻

广东头部前50名高中格局与生源分布

本地新闻

世界杯球迷节:比球赛更好玩的派对

亲子要闻

“人永远不知道自己的天赋技能点被随机点到哪了”

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

伊朗:驶离指定航线船舶不享有安全保障

无障碍浏览 进入关怀版