当前位置: 首页 > 科技观察

一篇文章带你了解Go语言的基本变量

时间:2023-03-21 18:42:23 科技观察

前言大家好,我上八了,这次继续学习Go语言的基本变量。为什么我们需要变量简单来说,就是我们写的程序的默认数据是存储在记忆棒中的。我们不能直接通过地址找到这个变量,因为地址太长了,不好记。通常我们通过变量名找到对应地址上面的值,然后进行一系列的操作。变量类型不管现在是什么语言,常用的变量都分为以下几种类型。整数、1、6、2、8、4……浮点数、1.1、5.7767、23.99……布尔型、true、false字符串型、“张三”、“李四”……列表图大概会分为以上几种,不过这个不用记住,理解即可。变量定义声明变量格式如下。var变量名变量类型例如:varageintvargenderbool批量声明以上声明的变量一个一个声明。如果需要一次性声明一些变量,可以这样写。var(ageintgenderboolnamestringidintheightint...)上面声明时赋值的方法只是声明了一个变量,并没有赋值,以后需要的时候可以赋值。如果在声明的时候确定了这个值是什么,就可以直接赋值。格式如下。var变量名type=value例如:varageint=18varnamestring="张三"Go中的一个强制要求在Go中,必须使用变量,至少是fmt.Println(variable)。类型推导法声明变量赋值上面在声明变量和赋值的时候,还需要指定变量类型。在Go中,Go具有类型推断以在声明变量时分配变量。varage=18varname="张三"的意思是变量名后面不需要写变量类型。:=方式变量赋值在Go中,有一种更简单的方法来声明变量赋值。格式如下。age:=18name:="ZhangSan"学过Python的人可能有点高兴。除了多了一个:符号,其余的和Pyton中定义变量的方式基本相同。注:age:=18//本质是执行的两句//同上varageintage=18全局变量简单的说定义在最外层的变量是全局变量。在Go中,全局变量是必需的。packagemain//全局变量://method1、声明一个全局变量,必须遵循type//varageint//method2、声明一个变量并赋值,type不能写//varage=18//varageint=18//方法三,错误示例,全局变量要么只声明变量,要么声明后赋值//varageint//age=18//方法四,错误示例,:=方法声明赋值//方法4其实等同于方法3的写法,所以不能用在全局变量中//age:=18funcmain(){}PS:全局变量要么只声明,要么声明的时候赋值,并且不能写两行赋值,所以:=方法不能应用于全局变量中的匿名变量。匿名变量多用于函数返回值的场景,比如函数返回两个值,需要两个值的第一个值,就可以使用匿名变量。因为在Go中,必须使用变量,如果需要忽略变量,使用_即可。值得注意的是,匿名变量不占用内存。packagemainfuncget_info()(string,int){return"张三",18}funcmain(){//标准写法//name,age:=get_info()//fmt.Println(name,age)//匿名变量法//name,_:=get_info()//fmt.Println(name)//_,age:=get_info()//fmt.Println(age)}常量和变量基本一样,只是不能修改常量的。通常常量以大写形式定义。packagemainimport"fmt"funcmain(){//单个声明constPI1int=3constPI2=3.14//同时声明多个const(PI3=3.14PI4=3.14)//如上声明多个变量时,如果省略value,意思同上一行const(girl1=18girl2//18,同上一行girl3//18,同上一行girl4=17girl5//17,同上一行)fmt.println(girl3,girl5)}注意:声明常量时必须声明一个赋值错误的例子。packagemainfuncmain(){constageintage=18//error}综上所述我们学习了Go的基本变量。本文转载自微信公众号《Go语言进阶学习》,可通过以下二维码关注。转载本文请联系Go语言进阶学习公众号。