首页 > 代码库 > go-基础知识二-数据类型-变量

go-基础知识二-数据类型-变量

1.0  变量的含义:变数或变量,是指没有固定的值,可以改变的数。变量以非数字的符号来表达,一般用拉丁字母。变量是常数的相反。变量的用处在于能一般化描述指令的方式。若果只能使用真实的值,指令只能应用于某些情况下。变量能够作为某特定种类的值中任何一个的保留器。

2.0  GO语言 变量的表现形式

    2.1 使用var关键字是Go最基本的定义变量方式,与OC不同的是Go把变量类型放在变量名后面:

//定义一个名称为“variableName”,类型为"type"的变量var variableName type

    2.2 定义多个变量

//定义三个类型都是“type”的三个变量var vname1, vname2, vname3 type

    2.3 定义变量并初始化值

//初始化“variableName”的变量为“value”值,类型是“type”var variableName type = value

    2.4 同时初始化多个变量

/*    定义三个类型都是"type"的三个变量,并且它们分别初始化相应的值    vname1为v1,vname2为v2,vname3为v3*/var vname1, vname2, vname3 type= v1, v2, v3

    2.5 _(下划线)是个特殊的变量名,任何赋予它的值都会被丢弃。在这个例子中,我们将值35赋予b,并同时丢弃34

_, b := 34, 35

    2.6 私有变量快速定义并初始化

/*    定义三个变量,它们分别初始化相应的值    vname1为v1,vname2为v2,vname3为v3    编译器会根据初始化的值自动推导出相应的类型*/vname1, vname2, vname3 := v1, v2, v3

    2.7 私有变量 :GO语言没有class的概念,而采用包的形式来进行形成封装,而私有变量就是在包中函数外声明的变量

package mainimport "fmt"var name string //GO语言的数据类型声明在后,且GO语言是一种强类型检查和swfit一样,不能隐式类型转换var a, b intfunc main() {    name = "今天我很开心,虽然我没有找工作,因为有进步!希望go能够早日支持安卓开发,期待1.4版本!\n"    fmt.Printf("%s", name)    c := plus(1, 1)//局部变量申明方式    fmt.Printf("1+1=%d", c)}//加法func plus(a int, b int) int {
//方法的形式为:方法名(形参 形参类型)返回值类型
return a + b}

    2.8局部变量:GO语言没有class的概念,而采用包的形式来进行封装,而局部变量就是在方法内声明的变量,出作用域后将被释放

    2.9 公有变量:GO语言没有class的概念,而采用包的形式来进行封装,而全局变量就是在方法外声明的变量,首字母大写,提供外部包之间的调用

    3.0 Go对于已声明但未使用的变量会在编译阶段报错