Go中变量

Go中变量变量的概念 变量是程序的基本组成单位 相当于内存中一个数据存储空间的表示 通过变量名可以访问到变量值 sum sub 都是变量 变量使用的基本步骤 1 声明变量 定义变量 2 赋值 3 使用变量 声明变量 var 变量名 数据类型 var num1

大家好,我是讯享网,很高兴认识大家。

变量的概念

变量是程序的基本组成单位,相当于内存中一个数据存储空间的表示,通过变量名可以访问到变量值

sum , sub 都是变量

变量使用的基本步骤

1.声明变量(定义变量)

2.赋值

3.使用变量

声明变量:var 变量名 数据类型

var num1 float32表示一个单精度类型的小数,变量名是num1

初始化变量:在声明变量的时候就给值

var a int = 45 这就是初始化变量

使用细节,如果声明时就直接给值,可省略数据类型

var b = 40 / b := 40

给变量赋值:比如先声明变量:var num int //默认0

然后,再给值num = 780 ; 这就是给变量赋值

变量使用注意事项

1.变量表示内存中的一个存储区域

2.该区域有自己的名称(变量名)和类型(数据类型)

3.Golang变量使用的三种方式

1)指定变量类型, 声明后若不赋值,使用默认值

2)根据值自行判断变量类型(类型推导)

3)省略var,注意: =左侧的变量不应该是已经声明过的,否则会导致编译错误

4.多变量声明

在编程中, 有时我们需要一次性声明多个变量,Golang也提供这样的语法

5.全局变量的声明

在Go函数外定义的变量的声明

6.变量在某一区域的数据值可以在同一类型范围内不断变化

7.变量在同一个代码块内不能重名

8.变量=变量名+值+数据类型(变量三要素)

程序中+号的使用

1.当左右两边都是数值型时,做加法运算

2.当左右两边都是字符串类型时,则做字符串拼接

变量数据类型

基本数据类型

数值型i

整数类型int,int8,uint8,byte

浮点类型float32,float64

字符型(没有专门的字符型,使用byte来保存单个字母的字符)

布尔型bool

字符串string

派生/复杂数据类型

指针Pointer

数组

结构体(struct)

管道(channel)

函数(也是一种类型)

切片(slice)

接口(ineterface)

map

整数的各个类型

有符号的整数类型 int8 -2^7 ~ 2^7-1 ; rune范围与int32一样 4字节

无符号的整数类型 uint8 0 ~ 2^8-1 ; byte与unit8表示范围一样 8位

查看一个变量的数据类型

fmt.Printf(%T) 用于做格式化输出

整型变量在使用时,保小不保大原则,尽量使用小的数据类型

浮点型

用于存放小数

小数类型

1.单精度float32

2.双精度float64

说明

1.浮点数 = 符号位+指数位+尾数位,在储存过程中,精度可能会损失

2.尾数部分可能丢失,造成精度损失,-123.0000901

3.float64的精度比float32更高

细节

1.Golang的浮点有固定的范围和字段长度,不受OS影响

2.Golang浮点型默认为float64

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

十进制数形式,如:5.12 .512(必须有小数点)


讯享网

科学计数法形式,如:5.12e2 = 5.12*10的2次方 5.12E-2 = 5.12/10的2次方

4.通常情况下,应该使用float64,因为它比float32更精确

字符类型

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

字符串是遗传固定长度的字符连接起来的字符序列,Go的字符串时由单个字节连接起来的

传统的字符串是由字符组成的,go的字符串是由字节组成的

1.0-1 , A-Z可以直接保存到byte

2.保存字符对应码值大于255,这是我们可以考虑用int类型保存

3.以字符方式输出,需要格式化输出,即fmt.Printf("%c",c1)

细节

1.字符常量是用单引号('')括起来的单个字符,例如,

var c1 byte = 'a'

var c2 uint = '中'

2.Go中允许使用转义字符'\'来将其后的字符转变为特殊字符

3.Go语言的字符是UTF-8编码(包含ASCH码),英文字符1字节,汉字3字节

4.Go中,字符本质是一个整数

5.给某变量赋一个数字,然后按格式化输出%c,会输出unicode字符

6.字符类型可以进行运算,因为它们都有对应的Unicode码

布尔类型

1.也叫Bool类型,占用1个字节,只允许取值True和Faulse

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

字符串类型string

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

细节

Go语言的字符串一旦赋值了,字符串就不能修改了

双引号 会识别转义字符

反引号 以字符串的原生形式输出,包括换行和特殊字符,可以防止被攻击

string使用的注意事项

多个字符串拼接时,加号保留在上一行

Golang中基本数据类型的默认值(0值)

所有数据类型都有一个默认值

当程序员没有赋值时,就会保留这个默认值

Go这个默认值又叫0值

整型 0

浮点型 0

字符串 ”“

布尔型 Faulse(不使用0/1)

%v表示按照变量得到原始值输出

基本数据类型的转换

Golang与JAVA/C不同,Golang在不同类型的变量之间赋值时需要显式转换

也就是Golang中数据类型不能自动转换

基本语法

表达式T(v),T:数据类型 v:要转换的变量

细节说明

1.被转换的时变量存储数据(即值),变量本身的数据类型并没有变化

2.可以时范围小转大,也可以时大转小

3.将int64转换为int8,若超出,编译时不会报错,转换时会溢出。在转换时候需要考虑范围问题

基本数据类型和string的转换

在程序开发中,我们经常将基本数据类型与string类型相互转换

基本数据类型转string

fmt.Sprintf(%f 表达式

使用strconv函数

基本数据类型转string类型

go标准库文档Go库文档 (studygolang.com)

如Sprintf根据format参数生成格式化的字符串

string类型转基本数据类型

使用时strconv包

//1.strconv.ParseBool(str)函数会返回两个值(value bool, err error)

//2.因为我只想获取到value bool ,不想获取err所以我使用,_忽略

使用strconv的函数

fmt.ParseBool(str string)

接收返回的类型和字节

在将string类型转成基本数据类型时,要确保string类型能够转成有效的数据

比如可以把”123“转成一个整数,但是不能把”hello"转成一个整数,会输出默认值

小讯
上一篇 2025-03-14 15:21
下一篇 2025-03-05 13:17

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/30999.html