Golang:基本类型

类型长度(字节)默认值说明
bool1false
byte10uint8
rune40Unicode Code Point, int32
int, uint4或8032 或 64 位
int8, uint810-128 ~ 127, 0 ~ 255,byte是uint8 的别名
int16, uint1620-32768 ~ 32767, 0 ~ 65535
int32, uint3240-21亿~ 21亿, 0 ~ 42亿,rune是int32 的别名
int64, uint6480
float3240.0
float6480.0默认浮点数类型
complex648
complex12816
uintptr4或8以存储指针的 uint32 或 uint64 整数
array值类型(数组)
struct值类型(结构体)
string""UTF-8 字符串,默认值为空字符串,而非nil
slicenil引用类型(切片)
mapnil
channelnil
interfacenil接口
functionnil函数

标准库math定义了各数字类型的取值范围 

math.MinInt8等...

标准库strconv可在不同进制(字符串)间转化

整数

查看字节数:unsafe.Sizeof(num)

查看类型:%T

golang程序中整数变量在使用时,遵守保小不保大(存储空间)

浮点类型

容易造成精度损失

底层存储:符号位+指数位+尾数位(尾数位数据比较模糊)

3.14->314E-2(科学计数法)

float32、float64可以表示正负

golang中浮点数类型默认为float64

字符类型

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

golang中使用UTF-8编码

字符类型本质上就是一个整数,也可以直接参与运算,输出字符的时候,会对应的码值进行输出

字母,数字,标点等字符,底层是按照ASCLL进行存储

byte 0-255

汉字使用的是Unicode,byte类型会溢出,可以用int

总结:golang的字符对应的使用的是UTF-8编码(Unicode是对应的字符集,UTF-8是Unicode的其中一种编码方案)

显示对应的字符,格式化输出%c

转义字符

\转义字符:将后面的字母表示为特殊含义

\n 换行

\b 退格

\r 光标回到本行开头,后续输入就会替换原有的字符

\t 制表符(和前面的组合,8个为一个制表符)

布尔类型

只允许取值true和false

占一个字节

适用于逻辑运算,一般用于流程控制

字符串类型

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

字符串是不可变的,指的是字符串一但定义好,其中的字符的值不能改变

字符串的表示形式:

如果字符串中没有特殊字符,字符串的表示用双引号

如果字符串中有特殊字符,字符串的表示形式用反引号``

字符串的拼接用+即可,当字符串过长需要换【行时,加号+保留在上一行最后

基本数据类型间的转换

golang在不同类型的变量之间赋值时需要显示转换,并且只有显式转换(强制转换)

T(v)

int64转为int8的时候,编译不会出错,但是会数据的溢出

多种数据进行运算时,一定要匹配=左右两边的类型

基本数据类型和string的转换

基本》string

方式一:fmt.Sprintf("%参数",表达式)

方式二:使用strconv包的函数(参数限制条件比较多)

string》基本

使用strconv包的函数

修改字符串

 func changeString() {
        s1 := "hello"
        // 强制类型转换
        byteS1 := []byte(s1)
        byteS1[0] = 'H'
        fmt.Println(string(byteS1))

        s2 := "博客"
        runeS2 := []rune(s2)
        runeS2[0] = '狗'
        fmt.Println(string(runeS2))
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值