Go语言从入门到放弃 数据类型

Posted chnmig

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言从入门到放弃 数据类型相关的知识,希望对你有一定的参考价值。

本章主要介绍Go语言的数据类型

布尔(bool)

布尔指对或者错,也就是说bool只有两个值, True 或 False

两个类型相同的值可以使用比较运算符来得出一个布尔值

当两个值是完全相同的情况下会返回 True,否则返回 False。

package main

var suma int = 11
var sumb int = 11

func main()  {
    print(suma == sumb)
}

上方的代码返回 true

如果值不相同返回 false

如果变量类型不一样会报错

package main

var suma int = 11
var sumb int8 = 12

func main()  {
    print(suma == sumb)
}
invalid operation: suma == sumb (mismatched types int and int8)

逻 辑 值 可 以 被 用 于 条 件 结 构 中 的 条 件 语 句, 以 便 测 试 某 个 条 件 是 否 满 足。 另 外, 和 &&、 或 | | 与 相 等 = = 或 不 等 != 属 于 二 元 运 算 符, 而 非 ! 属 于 一 元 运 算 符。

!运算符指的是非运算符,非 运 算 符 用 于 取 得 和 布 尔 值 相 反 的 结 果。

当!后的值为 true 时会反转成 false

falses 时同理

package main

var aVar int = 10

func main()  {
    print(!(aVar != 5))
}

返回 false

 

和运算符 && 

只有当两边都为 true 时才是 true

package main

var aVar int = 10

func main()  {
    print(aVar != 5 && aVar !=10)
}

结果为 false

 

或运算符 || 

只有当两边值都为 false 时才是 false 

package main

var aVar int = 10

func main()  {
    print(aVar != 5 || aVar !=10)
}

结果为 true

 

对 于 布 尔 值 的 好 的 命 名 能 够 很 好 地 提 升 代 码 的 可 读 性, 例 如 以 is 或 者 Is 开 头 的 isSorted、 isFinished、 isVisivle, 使 用 这 样 的 命 名 能 够 在 阅 读 代 码 的 获 得 阅 读 正 常 语 句 一 样 的 良 好 体 验, 例 如 标 准 库 中 的 unicode.IsDigit( ch)

 

数字类型

数字类型大体可分为整形 int 和浮点型 float

需要注意的是,int和unit和unitptr长度是由程序所在的操作系统决定的

  如果在32位操作系统,int和unit占32位(4字节)

  64位则占64位(8字节)

  uintptr 长度为足够存放一个指针

  # 目前机器基本为64位

在 Go 语言中没有 float 类型,只有 float32 和 float64 

你需要知道的是

  int是计算最快的一种类型

  如果是对数字有要求的变量尽量规定长度

 

整数有多种类型,每种类型对应不同的长度

关键字 支持的大小
int 随操作系统变化
int8 -128 -- 127
int16 -32768 -- 32767
int32 -2147483648 -- 2147483647
int64 -9223372036854775808 -- 9223372036854775807
uint 随操作系统变化
uint8 0 -- 255
uint16 0 -- 65535
uint32 0 -- 4294967295
uint64 0 -- 18446744073709551615

 

以上是关于Go语言从入门到放弃 数据类型的主要内容,如果未能解决你的问题,请参考以下文章

GO语言从入门到放弃

Go语言入门到放弃-变量

gentoo从入门到放弃

G1从入门到放弃(二)

API网关从入门到放弃

Mac新手从入门到放弃MongoDB