Golang面试宝典——Go语言基本数据类型

关于Golang面试宝典

最近几年,Go的热度持续飙升,国内外很多大公司都在大规模的使用Go。Google是Go语言诞生的地方,其他公司如Facebook、腾讯、阿里、字节跳动、百度、京东、小米等都在拥抱和转向Go。Go语言的开源项目也非常多,如kubernetes、docker、etcd。

随着市场对Go语言人才需求的增长,很多开发者都投入了Go语言的怀抱。本系列文章将以第一视角与大家一同开始Golang的面试之路,希望大家能够有所收获,拿下心仪的offer。

Go语言基本数据类型

数值型-整数类型

Golang各整数类型分有符号和无符号,int uint的大小和系统有关

Golang的整形默认声明为int型

Golang程序中整型变量在使用时,遵守保小不保大的原则,即:在保证程序正确运行的前提下,尽量使用占用空间小的数据类型

类型占用储存空间范围
int81字节-27~27-1
int162字节-215~215-1
int324字节-231~231-1
int648字节-263~263-1
uint81字节0~2^8-1
uint162字节0~2^16-1
uint324字节0~2^32-1
uint648字节0~2^64-1
int32位系统4字节,64位系统8字节-231~231-1(32位系统)或-263~263-1(64位系统)
uint32位系统4字节,64位系统8字节02^32-1(32位系统)或02^64-1(64位系统)

数值型-浮点类型

浮点数在机器中存放形式:浮点数=符号位+指数位+尾数位,尾数部分可能丢失,造成精度损失

Golang浮点类型有固定的范围和字段长度,不受具体OS的影响

Golang的浮点类型默认声明为float64

通常情况下,应使用float64,因为它精度更高

类型占用储存空间范围
float324字节-3.403E38~3.403E38
float648字节-1.798E308~1.798E308

字符型

Golang没有专门的字符类型,如果要存储单个字符,一般使用byte或者rune来保存

字符常量是用单引号括起来的单个字符

Golang中允许使用转义字符’'来将其后的字符转变为特殊字符型常量

Golang语言的字符使用UTF-8编码

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

byte

与uint8等价,范围为0-255,当要储存字符时,选用byte,如:

var a byte = 'a'

rune

与int32等价,范围为-231~231-1,表示一个Unicode码,如:

var a rune = '中'

布尔型

bool

bool类型数据只允许取值true和false,不可以0或者其他值来替代true和false

bool类型占1个字节空间大小

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

字符串

string

字符串是一串固定长度的字符连接起来的字符序列,Golang中的字符串的字节使用UTF-8编码标识Unicode文本,不会出现中文乱码等问题

字符串一旦赋值了,字符串就不能修改了,在Go中字符串是不可变的

字符串的两种表示形式:

  1. 双引号:识别转义字符
  2. 反引号:以字符串的原生形式输出,包括换行和特殊字符

基本数据类型默认值

数据类型默认值
整型0
浮点型0
字符串“”
布尔类型false
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请叫我雯子小姐的小爷

是雯子吖

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值