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

IT--小哥 · · 3135 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

前言:在 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)。喜欢技术的一起来交流吧


有疑问加站长微信联系(非本文作者)

本文来自:开源中国博客

感谢作者:IT--小哥

查看原文:《Golang 入门系列四》golang的基本数据类型

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3135 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传