昆明住房和城鄉(xiāng)建設(shè)部網(wǎng)站關(guān)鍵詞制作軟件
學(xué)無止境,今天繼續(xù)學(xué)習(xí)go語言的基礎(chǔ)語法
變量(Variables):
-
變量聲明:
var x int
-
變量初始化:
var x int = 10
或者可以使用類型推斷:
x := 10
-
多變量聲明:
var a, b, c int
-
同時(shí)初始化多個(gè)變量:
var a, b, c = 1, 2, 3
-
全局變量:
在函數(shù)外部聲明的變量是全局變量。
常量(Constants):
-
常量聲明:
const pi = 3.14159
-
多常量聲明:
const (a = 1b = 2c = 3 )
-
枚舉常量:
const (Sunday = iota // 0Monday // 1Tuesday // 2Wednesday // 3Thursday // 4Friday // 5Saturday // 6 )
-
自增常量:
const (x = iota * 10yz ) // x=0, y=10, z=20
這里是一個(gè)簡(jiǎn)單的例子,演示了變量和常量的使用:
package mainimport "fmt"func main() {// 變量var age intage = 30name := "Alice"// 常量const pi = 3.14159fmt.Println("Name:", name)fmt.Println("Age:", age)fmt.Println("Pi:", pi)
}
運(yùn)算符
Go語言支持各種運(yùn)算符,包括算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符等。以下是一些常見的Go語言
算術(shù)運(yùn)算符:
+
:加法-
:減法*
:乘法/
:除法%
:取余
關(guān)系運(yùn)算符:
==
:等于!=
:不等于<
:小于>
:大于<=
:小于等于>=
:大于等于
邏輯運(yùn)算符:
&&
:邏輯與||
:邏輯或!
:邏輯非
位運(yùn)算符:
&
:按位與|
:按位或^
:按位異或<<
:左移>>
:右移
賦值運(yùn)算符:
=
:賦值+=
:加并賦值-=
:減并賦值*=
:乘并賦值/=
:除并賦值%=
:取余并賦值&=
:按位與并賦值|=
:按位或并賦值^=
:按位異或并賦值<<=
:左移并賦值>>=
:右移并賦值
其他運(yùn)算符:
&
:取地址*
:指針解引用<-
:用于通道操作符
示例:
package mainimport "fmt"func main() {// 算術(shù)運(yùn)算符a := 10b := 20fmt.Println("a + b =", a+b)fmt.Println("a - b =", a-b)fmt.Println("a * b =", a*b)fmt.Println("a / b =", a/b)fmt.Println("a % b =", a%b)// 關(guān)系運(yùn)算符fmt.Println("a == b is", a == b)fmt.Println("a != b is", a != b)fmt.Println("a < b is", a < b)fmt.Println("a > b is", a > b)fmt.Println("a <= b is", a <= b)fmt.Println("a >= b is", a >= b)// 邏輯運(yùn)算符x := truey := falsefmt.Println("x && y is", x && y)fmt.Println("x || y is", x || y)fmt.Println("!x is", !x)// 位運(yùn)算符fmt.Println("a & b =", a&b)fmt.Println("a | b =", a|b)fmt.Println("a ^ b =", a^b)fmt.Println("a << 1 =", a<<1)fmt.Println("a >> 1 =", a>>1)// 賦值運(yùn)算符c := 5c += 3fmt.Println("c += 3 is", c)// 其他運(yùn)算符pointer := &afmt.Println("Address of a:", pointer)fmt.Println("Value at address:", *pointer)
}
這只是一些常見的運(yùn)算符,Go語言還有其他一些運(yùn)算符,如通道操作符 <-
用于發(fā)送和接收數(shù)據(jù)。
Go語言提供了常見的條件語句和循環(huán)語句,包括if語句、switch語句、for語句等。
條件語句:
1. if
語句:
package mainimport "fmt"func main() {x := 10// 基本的 if 語句if x > 5 {fmt.Println("x is greater than 5")}// if-else 語句if x > 5 {fmt.Println("x is greater than 5")} else {fmt.Println("x is not greater than 5")}// if-else if-else 語句if x > 5 {fmt.Println("x is greater than 5")} else if x < 5 {fmt.Println("x is less than 5")} else {fmt.Println("x is equal to 5")}
}
2. switch
語句:
package mainimport "fmt"func main() {day := "Monday"switch day {case "Monday":fmt.Println("It's Monday!")case "Tuesday":fmt.Println("It's Tuesday!")case "Wednesday":fmt.Println("It's Wednesday!")default:fmt.Println("It's some other day.")}// 使用 switch 表達(dá)式num := 5switch {case num > 0:fmt.Println("Positive")case num < 0:fmt.Println("Negative")default:fmt.Println("Zero")}
}
循環(huán)語句
1. for
循環(huán):
package mainimport "fmt"func main() {// 基本的 for 循環(huán)for i := 0; i < 5; i++ {fmt.Println(i)}// for 循環(huán)用于迭代數(shù)組或切片numbers := []int{1, 2, 3, 4, 5}for index, value := range numbers {fmt.Printf("Index: %d, Value: %d\n", index, value)}// 無限循環(huán)// for {// fmt.Println("This will run forever.")// // 可以使用 break 或 return 語句來退出無限循環(huán)// }
}
2. while
循環(huán):
Go語言中沒有專門的 while
關(guān)鍵字,但你可以使用 for
來實(shí)現(xiàn)相同的效果:
package mainimport "fmt"func main() {// 模擬 while 循環(huán)i := 0for i < 5 {fmt.Println(i)i++}
}
3. do-while
循環(huán):
Go語言中也沒有 do-while
循環(huán),但你可以使用 for
和 break
來模擬它:
package mainimport "fmt"func main() {// 模擬 do-while 循環(huán)i := 0for {fmt.Println(i)i++if i >= 5 {break}}
}
這些示例覆蓋了Go語言中的條件語句和循環(huán)語句。