[go学习笔记.第三章.变量] 2.整数类型,浮点类型,字符类型,布尔类型

一.整数类型

简单的来说,就是用于存放整数值的,比如:0,-1,2345等

 

 整数的使用细节

1).go各个整数类型分:有符号和无符号, int uint 的大小和系统有关

2).go的整型默认声明为int型

3).如何在程序中查看某个变量的字节大小和数据类型(使用较多)

4).go程序中整型变量在使用时,遵守保小不保大原则,即:在保证程序正确运行下,尽量使用占用空间小的数据类型(如:年龄)

5).bit:计算机中的最小存储单位.byte:计算机中基本存储单元.1byte = 8 bit

 

 二.浮点类型

go的浮点类型可以表示一个小数,比如:123.4,2.3,0.12等 

 说明:

1).浮点数在机器中存放形式:浮点数 = 符号位 + 指数位 + 尾数位, 说明:浮点数都是有符号的

3.23

11100000111.111111111111111100000

 2).尾数部分可以丢失,造成精度缺失,-123.00000901

 3).浮点类型的存储分为三个部分:符号位 + 指数位 + 尾数位,在存储过程中,精度会有丢失

注意:float64的精度比float32的要准确;如果我们要保存一个精度高的数,则应该选择float64

浮点数的使用细节

1).go浮点数类型有固定的范围和字段长度,不受具体OS(操作系统)的影响

2).go的浮点数默认声明为float64类型

3).浮点型常量有两种表示形式

        (1).十进制数形式: 5.12 .421(必须有小数点)

        (2).科学计数法形式: 5.1234e2 = 5.12 * 10的2次方; 5.12E-2 = 5.12/10的2次方

4).通常情况下,应该使用float64,因为它比float32更精确,开发中,推荐使用float64

 三.字符类型

go中并没有专门的字符类型,如果要单独存储单个字符(字母),一般使用byte来保存.

字符串就是一串固定长度的字符连接起来的字符序列.go的字符串是由单个字节连接起来的,也就是说对于传统的字符串是由字符组成的,而go的字符串不同,它是由字节组成(官方将string归属到基本数据类型)

案例:

var c1 byte = 'a'
var c2 byte = '0'
var c3 byte = '你'
var c4 byte = 97

对上面代码的说明:

1).如果我们保存的字符在ASCII表的,比如:[0-9,a-z,A-Z]直接可以保存到byte

2).如果我们保存的字符对应码值大于255,这时我们可以考虑使用int类型保存

3).如果我们需要按照字符的方式输出,这时我们需要格式化输出,即fmt.Printf("%c",c1)

字符类型的使用细节

1).字符常量是用单引号('')括起来的单个字符,eg:var a1 byte = 'a' var a2 byte  = '中' var a3 byte = '8'

2).go中允许使用转义字符'\'来将后面的字符转变为特殊字符型常量,eg:var c1 char = '\n','\n'表示换行符

\a             匹配响铃符    (相当于 \x07)
                   注意:正则表达式中不能使用 \b 匹配退格符,因为 \b 被用来匹配单词边界,
                   可以使用 \x08 表示退格符。
    \f             匹配换页符    (相当于 \x0C)
    \t             匹配横向制表符(相当于 \x09)
    \n             匹配换行符    (相当于 \x0A)
    \r             匹配回车符    (相当于 \x0D)
    \v             匹配纵向制表符(相当于 \x0B)
    \123           匹配 8  進制编码所代表的字符(必须是 3 位数字)
    \x7F           匹配 16 進制编码所代表的字符(必须是 3 位数字)
    \x{10FFFF}     匹配 16 進制编码所代表的字符(最大值 10FFFF  )
    \Q...\E        匹配 \Q 和 \E 之间的文本,忽略文本中的正则语法

    \\             匹配字符 \
    \^             匹配字符 ^
    \$             匹配字符 $
    \.             匹配字符 .
    \*             匹配字符 *
    \+             匹配字符 +
    \?             匹配字符 ?
    \{             匹配字符 {
    \}             匹配字符 }
    \(             匹配字符 (
    \)             匹配字符 )
    \[             匹配字符 [
    \]             匹配字符 ]
    \|             匹配字符 |

3).go语言的字符使用UTF-8编码,英文字母1个字节,汉字3个字节

4).在go中,字符的本质是一个整数,直接输出时,是该字符对应的UTF-8编码的码值

5).可以直接给某个变量赋一个数字然后按格式化输出时%c,会输出该数字对应的unicode字符

6).字符类型是可以进行运算的,相当于一个整数,因为它都对应有unicode码

 字符类型本质的探讨

1).字符型存储到计算机中,需要将字符对应的码值(整数)找出来存储,读取

2).字符和码值的对应关系是通过字符编码表决定的(规定好的)

3).go语言的编码都统一成UTF-8,非常方便 

四.布尔类型

基本介绍:

1).布尔类型也叫bool类型,bool类型只允许取值true和false

2).bool类型占一个字节

3).bool类型适用于逻辑运算,一般用于程序流程控制

        if条件控制语句

        for循环控制语句

五.字符串类型

字符串就是一串固定长度的字符连接起来组成的字符序列.

go的字符串是由单个字符连接起来的

go的字符串的字节使用UTF-8编码标识Unicode文本

注意事项和使用细节

1). go的字符串的字节使用UTF-8编码标识Unicode文本,这样go统一使用UTF-8编码,乱码问题不会再困扰程序员了

2).字符串一旦赋值了,字符串就不能修改了,在go语言中字符串是不可变的

var str string = "hello"
str[0] = 'y' // 报错,不能修改str
fmt.Println(str)

3).字符串的两种表示方式

        (1).双引号,会识别转义字符        

        (2).反引号,以字符串的原生形式输出,包括换行和特殊字符,可以实现防止攻击,输出源代码等小效果

4).字符串的拼接

 5).当一行字符串太长时, 需要使用到多行字符串,可以如下处理:

 

 上一节: [go学习笔记.第三章.变量] 1.变量基础介绍

 下一节:[go学习笔记.第三章.变量] 3.基本数据类型的默认值以及转换 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值