文档章节

Go的100天之旅-04基础数据类型

o
 osc_aazzok95
发布于 07/15 08:11
字数 684
阅读 33
收藏 0
go

「深度学习福利」大神带你进阶工程师,立即查看>>>

基础数据类型

在变量的定义中,我们讲了每个变量是有类型的,类型在计算机中是用来约束数据的解释。Go语言和其它计算机语言一样,提供丰富了丰富的数据类型,我们就来看看到底有哪些类型,同时也可以比较一下它和其它语言的区别。

整型

整型就是用来表示变量是整数的类型。和C类似,Go整型分为两个大类,无符号和有符号的,有符号简单来说就是能表示负数的类型,无符号就是这个类型没有正负号,统一表示整数。除了符号还有一点就是长度,因为符号和长度就决定了整型的范围。下面是Go整型的分类:

类型 说明 范围
int 整型,长度和平台机器字节大小相关一般32或者64位 和字节码相关
uint 无符号整型,长度和平台机器字节大小相关一般32或者64位 和字节码相关
int8 有符号8位整型 -128 ~ 127
uint8 无符号8位整型 0 ~ 255
int16 有符号16位整型 -32768 ~ 32767
uint16 无符号16位整型 0 ~ 65535
int32 有符号32位整型 -2147483648 ~ 2147483647
uint32 无符号32位整型 0 ~ 4294967295
int64 有符号64位整型 -9223372036854775808 ~ 9223372036854775807
uint64 无符号64位整型 0 ~ 18446744073709551615

浮点类型

Go有两种浮点类型,float32float64,它们都符合IEEE754规范的定义。讲到浮点类型不得不提到的就是精度,float32大概提供6位的精度误差,而float64提供约15位的精度误差。
例如下面的代码:

package main

import "fmt"

func main() {
	var i float32 = 10
	var j float32 = 10.0000000001

    var m float64 = 10
	var n float64 = 10.0000000001

	fmt.Println(i == j)
    fmt.Println(m == n)
}

打印的是:

true
false

因此在平时的使用中需要注意精度的问题。除了直接用小数的形式,还可以用科学计数法,例如

var i float32 = 10e-2 // 0.01

布尔型

布尔类型一共有2种:truefalse,通常用进行逻辑判断的

复数

复数在通常用的不是很多,在数学上的定义,复数有实部和虚部。Go提供了两种精度的复数类型,complex64complex128分别对应了float32float64的精度。

var x complex128 = complex(1, 2) // 1+2i
var y complex128 = complex(3, 4) // 3+4i


i := 1 + 2i
j := 3 + 4i

上面是复数的写法,分别指定它们的实部和虚部就行了。复数也可以比较是否相等

i := 1 + 2i
j := 1 + 3i
fmt.Println(i == j)

但是必须实部和虚部都相同才为true

o
粉丝 0
博文 74
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
beego API开发以及自动化文档

beego API开发以及自动化文档 beego1.3版本已经在上个星期发布了,但是还是有很多人不了解如何来进行开发,也是在一步一步的测试中开发,期间QQ群里面很多人都问我如何开发,我的业余时间实在...

astaxie
2014/06/25
2.7W
22
程序猿媛一:Android滑动翻页+区域点击事件

滑动翻页+区域点击事件 ViewPager+GrideView 声明:博文为原创,文章内容为,效果展示,思路阐述,及代码片段。文尾附注源码获取途径。 转载请保留原文出处“http://my.oschina.net/gluoyer...

花佟林雨月
2013/11/09
4.3K
1
代码生成器--Codgen

Codgen是一个基于数据库元数据模型,使用freemarker模板引擎来构建输出的代码生成器。freemarker的数据模型结构通常来说都是一个Map树状结构模型,codgen也不例外,它的数据模型这棵树的根节...

黄天政
2013/01/29
1.4W
2
集群存储系统--YFS

YFS集群存储系统由多个元数据服务器(MDS)、多个块数据服务器(CDS)和多个客户端(client)互联组成集群; 数据被分成64M固定大小的数据块(Chunk),每个数据块在CDS本地以常规文件的形式...

匿名
2013/02/19
1.8K
0
C++的JSON解析类--JSONVALUE

Jsonvalue 是 C++ 的 JSON 类,用来解析 JSON 到 C++ 对象,也可将对象转成 JSON 字符串。支持 ANSI 和 Unicode。特点: 严格和松散模式 不同数据类型 简单 API 仅依赖 STL 示例代码: JSON...

匿名
2013/03/10
3K
1

没有更多内容

加载失败,请刷新页面

加载更多

创建具有列表理解的字典 - Create a dictionary with list comprehension

问题: I like the Python list comprehension syntax. 我喜欢Python列表理解语法。 Can it be used to create dictionaries too? 它也可以用来创建字典吗? For example, by iterating over......

技术盛宴
51分钟前
15
0
从JS数组中删除重复的值[duplicate] - Remove duplicate values from JS array [duplicate]

问题: This question already has answers here : 这个问题已经在这里有了答案 : Get all unique values in a JavaScript array (remove duplicates) (79 answers) 获取JavaScript数组中的......

法国红酒甜
今天
11
0
如何使用AngularJS在浏览器的控制台中访问$ scope变量?

问题: I would like to access my $scope variable in Chrome's JavaScript console. 我想在Chrome的JavaScript控制台中访问$scope变量。 How do I do that? 我怎么做? I can neither see ......

fyin1314
今天
18
0
ImageMagick - 添加水印

背景 最近制作思维导图想添加自己的水印,网上很多例子都是使用ImageMagick来完成。但是不少代码在本地并不可行。经过一番试验,找到两个方法。 方法一 代码 stackoverflow方法改良: conver...

wffger
今天
11
0
OSChina 周四乱弹 —— 到底是怎样的饕餮盛宴在等待着我!

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 小小编辑推荐 :《你 能 來 保 護 我 的 世 界 嘛》- 歪门 《你 能 來 保 護 我 的 世 界 嘛》- 歪门 手机党少年们想听歌,请使劲儿戳(这里)...

小小编辑
今天
77
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部