Golang基础之数据类型

一:基本数据类型

1)数值型

(1)整数型

整数型有:int,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64 byte

注意事项

在Golang程序中整型(int系列)变量的使用,遵循保小不保大的原则:即在程序正常运行下,尽量使用占用空间小的数据类型

在计算机中 :

bit是计算机中最小的存储单位

byte是计算机中基本的存储单位

(2)浮点型

浮点型有:float32,float64,complex64,complex128,rune(int32别称)

注意事项

关于浮点数在机器中的存放形式得简单说明:浮点数=符号数+指位数+尾数位

Golang浮点类型中有固定的范围和字段长度

Golang浮点默认声明为float64类型

2)字符型

没有专门的字符型,使用byte来保存单个字母的字符,如果我们保存的字符在ASCII表中,则可以保存在byte中,如果我们要保存的字符对应的数值大于255,则可以用int

在Golang语言中字符都是按照UTF-8编码

字符是可以进行加减乘除

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

3)布尔型(bool)

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

(2)bool类型占一个字节

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

(4)不可以用0/1代替

4)字符串型

字符串的使用细节

字符串一旦赋值了,字符串就不能被修改了,但在Golang中字符串是不可变,当时可以重新赋值

字符串的拼接方式

用+号拼接

当一个拼接的操作符很长时怎么办,这时候要注意+号的位置

var str1="sbf"+

"s"

而不是 var str1="sbf"

+"s"

二:派生/复杂数据类型(以后介绍)

1)指针(Pointer)

2)数组

3)结构体(struct)

4)管道(chanel)

5)函数(函数也是一种数据类型)

6)切片(slice)

7)接口(interface)

8)map

三:如何查看某个变量的基本数据类型

利用fmt包下的Printf来进行格式化输出

例子:

fmt.Printf("n1的数据类型……%T",n1)

%T 数据类型

%d是输出一个数

fmt.Printf("n1的字节数",unsafe.Sizeof(n1))

unsfe.Sizeof(n1) 返回的是一个变量所占的字节数

四:基本数据类

数据类型默认值
整型0
浮点型0
字符串“”
布尔型false

五:基本数据类型的转化

介绍:

Golang和java/c不同,Go在不同类型的变量之间赋值时需要显式转换,也就是说Golang中数据类型不能自动转换

基本语法:

表达式T(v) 将值v转换为类型T,这里的T和V不可以是string,string的转换有其它方法

T:就是数据类型,比如int int32等的

v:就是需要转换的变量

细节转换

(1)在go中,数值类型的转换可以从表示范围小到表示范围大的,也可以范围大到小

(2)被转换的变量存储的数据(即值),变量本身的数据类型没有发生变化。参考值传递

(3)大转小,只是按溢出处理

六:基本数据转string

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

例如:var num1 int=99

var str string

str=fmt.Sprintf("%d",num1)

方式2;使用strconv包的函数

1.Atoi: 字符串转整数

2.Itoa: 整数转字符串

3.Format系列函数:基本数据类型转字符串

  • FormatInt: int 类型转换为字符串
  • FormatFloat: float64 类型转换为字符串
  • FormatBool: bool 类型转换为字符串

例子:

numInt := 42

strInt := strconv.FormatInt(int64(numInt), 10)

七:string转基本数据类型 

利用strconv包

  Parse系列函数:字符串转基本数据类型 

  • ParseInt: 字符串转换为 int 类型
  • ParseFloat: 字符串转换为 float64 类型
  • ParseBool: 字符串转换为 bool 类型
  • ...

注意细节

在string类型转化基本数据类型时需要确保string类型转化成有效的数据类型,但是不能将“Hello”转化成一个整数,如果这样做,Golang会直接将其转为0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值