您的位置:首页 > 编程语言 > Go语言

《Golang 入门系列四》golang的基本数据类型

2018-02-28 00:00 363 查看
前言:在 Go 编程语言中,数据类型用于声明函数和变量。数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。

一、数字类型

有符号整数采用2的补码形式表示,也就是最高bit位用来表示符号位,一个n-bit的有符号数的值域是从-2^{n-1}−2​n−1​​到2^{n-1}-12​n−1​​−1。无符号整数的所有bit位都用于表示非负数,值域是0到2^n-12​n​​−1。例如,int8类型整数的值域是从-128到127,而uint8类型整数的值域是从0到255。

1.1 整型

序号 类型和描述
1uint8: 无符号 8 位整型 (0 到 255)
2uint16: 无符号 16 位整型 (0 到 65535)
3uint32: 无符号 32 位整型 (0 到 4294967295)
4uint64: 无符号 64 位整型 (0 到 18446744073709551615)
5int8: 有符号 8 位整型 (-128 到 127)
6int16: 有符号 16 位整型 (-32768 到 32767)
7int32: 有符号 32 位整型 (-2147483648 到 2147483647)
8int64: 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)

1.2 浮点型

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

序号 类型和描述
1float32: IEEE-754 32位浮点型数
2float64: IEEE-754 64位浮点型数
3complex64: 32 位实数和虚数
4complex128: 64 位实数和虚数
演示示例:

package main

import (
"math"
"fmt"
)

func main() {
maxuint := uint64(math.MaxUint64)
fmt.Println("maxuint is :",maxuint)

fmt.Printf("maxfloat32 is :%v\n",math.MaxFloat32)
fmt.Printf("maxfloat64 is :%v\n",math.MaxFloat64)
}

运行结果:
maxuint is : 18446744073709551615
maxfloat32 is :3.4028234663852886e+38
maxfloat64 is :1.7976931348623157e+308


1.3 其他数字类型

序号 类型和描述
1byte: uint8的类型别名
2rune: int32的类型别名
3uint: 32 或 64 位
4int: 32 或 64 位
5uintptr: 无符号整型,用于存放一个指针

二、布尔型

一个布尔类型的值只有两种:true和false。if和for语句的条件部分都是布尔类型的值,并且==和<等比较操作也会产生布尔型的值。

三、字符串

字符串是一种值类型,且值不可变,即创建某个文本后你无法再次修改这个文本的内容;更深入地讲,字符串是字节的定长数组。

Go 支持以下 2 种形式的字面值:

解释字符串:该类字符串使用双引号括起来,其中的相关的转义字符将被替换

\a      响铃
\b      退格
\f      换页
\n      换行
\r      回车
\t      制表符
\v      垂直制表符
\'      单引号 (只用在 '\'' 形式的rune符号面值中)
\"      双引号 (只用在 "..." 形式的字符串面值中)
\\      反斜杠

非解释字符串:该类字符串使用反引号括起来

`This is a raw string \n` 中的 `\n` 会被原样输出


为了方便大家交流,本人开通了微信公众号(关注看更多精彩)和QQ群,QQ群1(291519319)和QQ群2(659336691)。喜欢技术的一起来交流吧

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Golanger