Go 变量定义 使用注意事项

网友投稿 242 2022-11-02


Go 变量定义 使用注意事项

变量是程序组成的基本单位

不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位,在程序里面无处不在。

复用:抽象,修改一处,所有引用该变量值得地方,都修改到了配置,把程序的配置放到变量里面方便修改简洁,容易阅读

变量介绍

概念

变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,同样的道理,通过变量名可以访问到变量(值)。

变量使用的基本步骤

变量使用⚠️注意事项

(1)变量表示内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型)

程序运行,在执行到定义变量的时候,会发生什么事情呢?(代码要运行起来,那么所有的代码必须加载到内存当中代码才可以运行)

之后赋值了10,那么就会通过变量i找到数据空间将里面的值改为10。

(2)Golang变量使用的三种方式

var i int fmt.Println(i) //0

var num = 10.1 fmt.Printf("%T",num)float64

var name string name = "tom"

name := "tom" fmt.Printf("%T %s",name,name)string tom

(3)该区域的数据值可以在同一类型范围内不断变化

变量的值是可以变化的,但是有前提,要注意其作用域,其次类型不能发生变化。

(4)变量在同一个作用域内(简单理解在函数或者代码块里面)不能重名,不同的作用域是可以重名字的

(5)变量 = 变量名 +  数据类型  + 值,这一点请大家注意

(6)Golang 的变量如果没有赋初值,编译器会使用默认值,比如 int默认值0,string默认值为空

串,小数也是默认为0的。

基本语法∶var 变量名 数据类型

初始化变量

给变量赋值

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

变量赋值

与其他主要编程语⾔如java c++ 的差异

交换两个变量的值最常见的就是引入一个中间变量,go语言可以在一个语句里面对多个变量赋值

var a,b int = 1,2 var a,b = 1,"2" a,b := 2,4

func TestExchange(t *testing.T){ a := 1 b := 2 a,b = b,a t.Log(a,b)}=== RUN TestExchange my_test.go:149: 2 1--- PASS: TestExchange (0.00s)PASS

指针类型变量

与其他主要编程语⾔的差异

1. 不⽀持指针运算

2. string 是值类型, 其默认的初始化值为空字符串,⽽不是 nil

d := 1 dPtr := &d fmt.Printf("%p,%T\n",dPtr,dPtr)0xc000108010,*int

不支持指针的运算,在很多语言当中通过指针自增来访问连续的存储空间。但是在go语言里面是不支持指针运算的。

dPtr = dPtr + 1

类型转化

与其他主要编程语⾔的差异

1. Go 语⾔不允许隐式类型转换(很多主流语言有潜规则,小类型可以向大大类型进行隐式转换,因为不会丢失数据, 在go语言当中任何的数据类型都不支持隐式转换 )

2. 别名和原有类型也不能进⾏隐式类型转换( 可以看到非常的严格,别名的隐式类型也是不支持的 )

type mytype int var b int fmt.Printf("%v,%v\n",reflect.TypeOf(a),reflect.TypeOf(b)) b = int(a)main.mytype,int


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java catch与throw同时使用的操作
下一篇:VictoriaMetrics 单点模式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~