第一课主要讲go语言如何定义变量
需要注意的是:go语言定义了变量一定要使用,不使用会提示出错。这个机制比较好。
第一:完整变量定义法: var a int =3 注意:go语言跟其他语言定义变量不太一样,类型放后面,符合人们思维的习惯。
第二种:var省略类型法: var a =3
第三种:批量定义变量法:
var (
a int =3
b string="hello"
c bool = true
)
省略类型版:
var (
a =3
b ="hello"
c = true
)
第四种:自动推导类型法:只能在函数体内用自动推导的方式,在函数体外不能使用。
function variableshorter int ( ) {
/*此处有点郁闷,函数返回类型也放后面定义,因为是从C和C#转过来的,老是不习惯*/
a:=3
b, c, d := 5, true, "string hello"
b=110 /* 自动推导定义变量用冒号等号,其中冒号是定义变量的意思,第二次用变量的时候不能再用:=,只能用=赋值。*/
return 0 //记得返回整形,
}
最后把练习的源代码全部放上来:
package main import "fmt" var aa =5 //包内部变量,不是全局变量 var ss ="hello5" //用var定义变量可以省略类型 var bb bool = true //在函数体外不能用bb:=true /* 批量定义变量,可以放进一个括号里 var ( aa=3 ss="hello" bb=true ) */ func variableZeroValue (){ var a int var s string fmt.Println(a,s) fmt.Printf("%d %s\n", a,s) fmt.Printf("%d %q\n",a,s) //需要多练习,格式化输出格式用“”双引号,里面多参数不能带逗号而是用空格 } func variableInitialValue (){ var a,b int =3,4 var s string ="abc" fmt.Println(a,b,s) } func variableTypeDeduction(){ var a,b,c,s =3,4,true,"abc" //注意 true是小写, True是错误的 fmt.Println(a,b,c,s) } func variableShort(){ a,b,c,s:=3,4,true,"abc" //:=中的冒号是定义变量,后面要用改变变量不能再用冒号等于,只能用=赋值符 b=5 //改变变量的值,不能再用:= fmt.Println(a,b,c,s) } func main() { variableShort() fmt.Println(aa,bb,ss) }