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

来源:转载


前言:在 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 整型


序号
类型和描述


1
uint8: 无符号 8 位整型 (0 到 255)


2
uint16: 无符号 16 位整型 (0 到 65535)


3
uint32: 无符号 32 位整型 (0 到 4294967295)


4
uint64: 无符号 64 位整型 (0 到 18446744073709551615)


5
int8: 有符号 8 位整型 (-128 到 127)


6
int16: 有符号 16 位整型 (-32768 到 32767)


7
int32: 有符号 32 位整型 (-2147483648 到 2147483647)


8
int64: 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)


1.2 浮点型

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




序号
类型和描述


1
float32: IEEE-754 32位浮点型数


2
float64: IEEE-754 64位浮点型数


3
complex64: 32 位实数和虚数


4
complex128: 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 其他数字类型


序号
类型和描述


1
byte: uint8的类型别名


2
rune: int32的类型别名


3
uint: 32 或 64 位


4
int: 32 或 64 位


5
uintptr: 无符号整型,用于存放一个指针


二、布尔型

一个布尔类型的值只有两种: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)。喜欢技术的一起来交流吧





分享给朋友:
您可能感兴趣的文章:
随机阅读: