Spring中的aware接口详情
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~