go基础语法
定义变量:
可放在函数内,或直接放在包内
使用var集中定义变量
使用:=定义变量写的短一些
package main import ( "fmt" "math" "math/cmplx" ) //定义变量 func variableZeroValue(){ var a int var s string fmt.Printf("%d %q\n",a,s) } //函数外定义变量 var( aa = 22 bb = 55 cc = "jjj" ) //变量赋初值 func variableInitialValue(){ var a,b int = 3,4 //go语言中定义的变量一定要用到,否则报错 var s string = "abc" fmt.Println(a,b,s) } //go语言推断变量type func variablrTypeDeduction(){ var a,b,c,s = 2,3,true,"def" fmt.Println(a,b,c,s) } //更加简便的写法 func variableShorter(){ a,b,c,s:= 5,6,true,"dfg" fmt.Println(a,b,c,s) }
go常量定义:
//go语言常量定义 func consts(){ const( filename = "abc.txt" a,b = 5,6 //常量的数值可以作为任何类型使用 ) var c int c = int(math.Sqrt(a*a + b*b)) fmt.Println(filename,c) } //枚举类型 func enums(){ const( /* cpp = 0 python = 1 java = 2 golang = 3 */ cpp = iota //iota自增 _ python golang javascript ) //b,kb,mb,gb,tb,pb const( b = iota << (10 * iota) kb mb gb tb pb ) fmt.Println(cpp,python,javascript,golang) fmt.Println(b,kb,mb,gb,tb,pb) }
强制类型转换:
func triangle(){ var a,b int = 3,4 var c int c = int(math.Sqrt(float64(a * a + b * b))) //类型转换是强制的 fmt.Println(c) }
func main() {
fmt.Println("hello golang!")
variableZeroValue()
variableInitialValue()
variablrTypeDeduction()
variableShorter()
fmt.Println(aa,bb,cc)
euler()
triangle()
consts()
enums()
}
//go语言内建变量
bool,string
(u)int,(u)int8,(u)int16,(u)int32,(u)int64,uintptr
byte,rune
float32,float64,complex64,complex128