GoLang学习之变量定义和初始化

Posted enumx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GoLang学习之变量定义和初始化相关的知识,希望对你有一定的参考价值。

变量命名原则
go语言的变量名有字母数字和下划线组成,首字母不能为数字,但是字母不仅仅只限于英文字母,所有的UTF-8字符都是可以的。

变量声明和初始化方式
使用var关键字

var a int =  9
var str string ="jisuanji"

注意,Go语言变量类型放在变量名之后!

如果上面的代码段没有初始化值,那么变量就会被初始化为对应类型的零值。

var a int

这个代码片段声明了一个int类型变量a,并把a初始化为int零值,即0。

忽略类型
这种声明和初始化变量的方式相比于第一种,就是省去了变量的类型,Go语言编译器可以根据你的初始值自动判断出类型。例如:

//这里面的a被自动识别为int类型。
var a = 5

直接初始化
这种方法定义和初始化变量,既不需要var关键字,也不需要指定类型,快捷又方便,实际的代码中建议用这种方式。

a:=3
以上代码段定义了一个变量a,并把它初始化为3。

多变量声明
Go语言可以同时声明和初始化多个变量这个和Python有点像,具体语法如下:

//类型相同多个变量, 非全局变量
var vname1, vname2, vname3 type
vname1, vname2, vname3 = v1, v2, v3
 //和python很像,不需要显示声明类型,自动推断
var vname1, vname2, vname3 = v1, v2, v3
//出现在:=左侧的变量不应该是已经被声明过的,且只能在函数体内出现
vname1, vname2, vname3 := v1, v2, v3 

代码示例

package main

import "fmt"

var c,d int = 1,2
var e,f = 123,"hello"

func main(){
    var v21 int32  //被定义初始化为0
    var v22 int = 2
    var v23 = 3 //被自动识别为int类型
    v24 := 4    //简易声明&定义的方式
    v21 = int32(v23) //强制转换

    g, h := 123, "hello"//注意:下行这种不带声明格式的只能在函数体中出现
    fmt.Println("v21 is", v21) //v21被赋新值
    fmt.Println("v22 is", v22)
    fmt.Println("v23 is", v23)
    fmt.Println("v24 is", v24)
    fmt.Println(c, d, e, f, g, h)
}

运行结果:

v21 is 3
v22 is 2
v23 is 3
v24 is 4
1 2 123 hello 123 hello

每天进步一点点

以上是关于GoLang学习之变量定义和初始化的主要内容,如果未能解决你的问题,请参考以下文章

iOS学习之代码块(Block)

golang学习之interface与其它类型转换

jvm系列学习之--Java类的初始化顺序

Shell学习之Bash变量详解

Java学习之创建对象内存使用机制

JAVA基础学习之函数