go基础语法

时间:2022-08-07 17:26:47

定义变量:

可放在函数内,或直接放在包内
使用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 =
bb =
cc = "jjj"
)
//变量赋初值
func variableInitialValue(){
var a,b int = , //go语言中定义的变量一定要用到,否则报错
var s string = "abc"
fmt.Println(a,b,s)
} //go语言推断变量type
func variablrTypeDeduction(){
var a,b,c,s = ,,true,"def"
fmt.Println(a,b,c,s)
}
//更加简便的写法
func variableShorter(){
a,b,c,s:= ,,true,"dfg"
fmt.Println(a,b,c,s)
}

go常量定义:

//go语言常量定义
func consts(){
const(
filename = "abc.txt"
a,b = , //常量的数值可以作为任何类型使用
)
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 << ( * 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 = ,
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