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 main import "fmt" var name string //GO语言的数据类型声明在后,且GO语言是一种强类型检查和swfit一样,不能隐式类型转换 var a, b int func 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对于已声明但未使用的变量会在编译阶段报错