学习golang-基础语法
定义变量
用关键字var定义
在定义时可以给变量加上类型
var a int = 666
当然也可以不加类型,go语言可以自动识别
var b = 999
可以使用var关键字同时定义多个变量
var (
v1 = 666
v2 = 999
)
var a,b,c = 3,6,9
var e,f,g int = 3,6,9
用var定义的变量,可以在函数中使用,也可以在函数外使用
用':='定义变量
func varValue(){
i := "I"
l := "love"
y := "you"
a,b,c := 1,2,3
}
这中形式,用于充当零时变量,用与函数内,不能使用在函数外
定义常量
使用const定义常量
const language = "golang"
一次性定义多个常量
const(
html = 0
css = 1
javascript = 2
php = 3
golang = 4
)
枚举
定义常量,给第一个常量赋值使用关键字iota
const {
v1 = iota
v2
v3
}
func main(){
fmt.PrintLn(v1,v2,v3)//0,1,2
}
变量总结
- 变量类型写在变量名之后
var a int
- 编译器可推测变量类型,不用刻意声明类型(在变量初始化的情况下)
var a int//变量未初始化,需声明变量类型
var b := 111
- 数据类型
//complex是复数类型,go没有char,有rune
a := complex(4, 6)
fmt.Println(a)//6i+4
fmt.Println(real(a))//实部,4
fmt.Println(imag(a))//虚部,6
条件语句
if条件语句
func ifelse(a int) string {
result := ""
if a < 0 || a > 100 {
result = "数据非法"
} else if a < 60 {
result = "快搬砖把"
} else if a < 70 {
result = "加油"
} else if a < 80 {
result = "还行"
} else if a < 90 {
result = "优秀"
} else if a <= 100 {
result = "秀儿"
}
return result
}
switch条件语句
func testSwich(b int) {
switch {
case b < 0 || b > 100:
fmt.Println("数据异常")
case b < 60:
fmt.Println("继续搬砖吧")
case b < 70:
fmt.Println("加油")
case b < 80:
fmt.Println("看好你")
case b < 90:
fmt.Print("不错哦")
case b <= 100:
fmt.Println("优秀")
}
}
循环
for
//遍历一个长度大小为10的数组,对其求和
//var array = [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
//forArraySum(array)
func forArraySum(a [10]int) int {
count := len(a)
sum := 0
for i := 0; i < count; i++ {
sum += a[i]
}
return sum
}
//go语言的while
func while(a [10]int) {
b := len(a) - 1
for b >= 0 {
fmt.Println(a[b])
b--
}
}
//死循环
func dieRange() {
for {
fmt.Println(6666)
}
}
for...range
//遍历数组,求和
//sums(array)
func sums(numbers [10]int) int {
sum := 0
for i := range numbers {
sum += numbers[i]
}
return sum
}
//printSums(1,2,3,4,5,6)
//打印数组的索引和值
func printSums(numbers ...int) {
for i,v := range numbers {
fmt.Println(i,v)
}
}
//只打印数组的值
func printSumsV(numbers ...int) {
for _,v := range numbers {
fmt.Println(v)
}
}