Go語句與表達(dá)式案例手冊深度解析
語句
語句是Go編程語言中完成特定操作的單個邏輯指令。語句是組成程序的基本單元,它們可以控制程序流程、進(jìn)行賦值、聲明變量等。
1. 聲明語句
1.1 變量聲明
用于定義一個或多個變量,但不一定要賦值。
舉例
var age int var name, address string
1.2 常量聲明
定義一個或多個常量值。
舉例
const PI = 3.14 const greeting = "Hello, Go!"
2. 賦值語句
用于給已聲明的變量分配新的值。
舉例
x := 10 y = x + 5 a, b := 20, 30
3. 控制流語句
3.1 條件語句
if語句
基于某個條件來執(zhí)行代碼塊。
舉例
if x > y { fmt.Println("x is greater than y") } else if x < y { fmt.Println("x is less than y") } else { fmt.Println("x is equal to y") }
switch語句
基于一個表達(dá)式或值來執(zhí)行多個代碼塊中的一個。
舉例
switch grade { case "A": fmt.Println("Excellent!") case "B": fmt.Println("Good") default: fmt.Println("Passed") }
3.2 循環(huán)語句
for語句
用于重復(fù)執(zhí)行某段代碼。
舉例
for i := 0; i < 10; i++ { fmt.Println(i) } for _, value := range array { fmt.Println(value) }
3.3 跳轉(zhuǎn)語句
break語句
用于中斷當(dāng)前循環(huán)。
舉例
for i := 0; i < 10; i++ { if i == 5 { break } fmt.Println(i) }
continue語句
跳過當(dāng)前迭代,并繼續(xù)下一個迭代。
舉例
for i := 0; i < 10; i++ { if i%2 == 0 { continue } fmt.Println(i) }
return語句
從函數(shù)中返回特定值。
舉例
func add(a int, b int) int { return a + b }
goto語句
跳轉(zhuǎn)到指定的標(biāo)簽。
舉例
for i := 0; i < 10; i++ { if i == 5 { goto end } fmt.Println(i) end: }
4. 其他語句
4.1 defer語句
確保在函數(shù)結(jié)束前執(zhí)行某個語句。
舉例
func printFile() { file, err := os.Open("file.txt") if err != nil { panic(err) } defer file.Close() // Do file operations... }
4.2 go語句
在新的goroutine中執(zhí)行函數(shù)調(diào)用。
舉例
go func() { fmt.Println("Executing in a new goroutine") }()
實戰(zhàn)案例
語句 | 語句樣例 |
---|---|
變量聲明 | var age int、var name, address string、var x, y int = 3, 4、var active bool、var salary = 50000 |
常量聲明 | const PI = 3.14、const greeting = "Hello, Go!"、const active = false、const daysInWeek = 7、const lightSpeed = 299792458 |
賦值語句 | x := 10、y = x + 5、a, b := 20, 30、name = "Alice"、isActive := true |
if語句 | if x > 10 { ... }、if x > 10 && y < 5 { ... }、if active { ... }、if name := getName(); name != "" { ... }、if age > 18 { ... } else { ... } |
switch語句 | switch x { ... }、switch { case x > 10: ... }、switch day { case "Monday": ... }、switch n := 4; n { ... }、switch y.(type) { ... } |
for語句 | for i := 0; i < 5; i++ { ... }、for i, v := range arr { ... }、for x > 5 { ... }、for key, val := range mapData { ... }、for _, char := range str { ... } |
break語句 | for { if condition { break } }、switch { case x: if y { break } }、for x > 10 { ...; break; ... }、label: for { ...; break label; ... }、for i := 0; i < 10; i++ { if i == 5 { break } } |
continue語句 | for i := 0; i < 10; i++ { if i%2 == 0 { continue } }、for _, v := range data { if v == nil { continue } }、for x > 0 { ...; if condition { continue } ... }、for { if !isValid(data) { continue } ... }、for idx, value := range items { if value == "" { continue } } |
return語句 | func add(a, b int) int { return a + b }、func name() string { return "Alice" }、func getDetails() (string, int) { return "Alice", 30 }、func isActive() bool { ...; return false }、func calculate() float64 { ...; return result } |
goto語句 | label1: for { ...; if x > 5 { goto label1 } }、label2: fmt.Println("Start"); ...; goto label2、if condition { goto errorHandling } ... errorHandling: ...、if !isValid { goto cleanup } ... cleanup: ... |
defer語句 | file, _ := os.Open("file.txt"); defer file.Close()、mutex.Lock(); defer mutex.Unlock()、defer fmt.Println("Finished!")、conn.Connect(); defer conn.Disconnect()、reader := openReader(); defer reader.Close() |
go語句 | go fmt.Println("Running in goroutine")、go process(data)、go func(val int) { ... }(x)、go startServer()、go handleRequest(request) |
表達(dá)式介紹、詳解、舉例
在編程中,表達(dá)式是一個結(jié)構(gòu),通過某種方式組合了變量、常量和操作符,并且可以被評估為某個值。在Go中,表達(dá)式根據(jù)所包含的內(nèi)容和結(jié)果的不同,可以有多種形式。
1. 基礎(chǔ)表達(dá)式
1.1 字面量
字面量是一個表示固定值的表達(dá)式。
舉例
42 // 整型字面量 3.14 // 浮點字面量 true // 布爾字面量 "Hello" // 字符串字面量
1.2 變量和常量
變量和常量是預(yù)先定義的,具有特定名稱和值的實體。
舉例
const PI = 3.14 var name = "Go"
2. 復(fù)合表達(dá)式
2.1 算術(shù)表達(dá)式
這些表達(dá)式使用算術(shù)運算符,如+、-、*、/和%。
舉例
a := 5 b := 2 sum := a + b // 結(jié)果:7 difference := a - b // 結(jié)果:3 product := a * b // 結(jié)果:10 quotient := a / b // 結(jié)果:2 remainder := a % b // 結(jié)果:1
2.2 關(guān)系表達(dá)式
關(guān)系表達(dá)式評估為布爾值,常用的關(guān)系運算符有==、!=、<、<=、>和>=。
舉例
x := 5 y := 3 result1 := x == y // 結(jié)果:false result2 := x > y // 結(jié)果:true
2.3 邏輯表達(dá)式
邏輯表達(dá)式用于組合多個布爾表達(dá)式,常用的邏輯運算符有&&、||和!。
舉例
a := true b := false result1 := a && b // 結(jié)果:false result2 := a || b // 結(jié)果:true result3 := !a // 結(jié)果:false
2.4 賦值表達(dá)式
賦值表達(dá)式給變量賦值,并返回該值。
舉例
x := 10 // 使用 := 進(jìn)行賦值 y = x + 5 // 使用 = 進(jìn)行賦值
3. 函數(shù)調(diào)用表達(dá)式
函數(shù)調(diào)用返回函數(shù)的返回值。
舉例
func add(a int, b int) int { return a + b } result := add(5, 3) // 結(jié)果:8
4. 類型轉(zhuǎn)換表達(dá)式
這些表達(dá)式將值從一個類型轉(zhuǎn)換為另一個類型。
舉例
x := 5.8 y := int(x) // 結(jié)果:5
實戰(zhàn)案例
語句 | 語句樣例 |
---|---|
變量聲明 | var age int、var name, address string、var x, y int = 3, 4、var active bool、var salary = 50000 |
常量聲明 | const PI = 3.14、const greeting = "Hello, Go!"、const active = false、const daysInWeek = 7、const lightSpeed = 299792458 |
賦值語句 | x := 10、y = x + 5、a, b := 20, 30、name = "Alice"、isActive := true |
if語句 | if x > 10 { ... }、if x > 10 && y < 5 { ... }、if active { ... }、if name := getName(); name != "" { ... }、if age > 18 { ... } else { ... } |
switch語句 | switch x { ... }、switch { case x > 10: ... }、switch day { case "Monday": ... }、switch n := 4; n { ... }、switch y.(type) { ... } |
for語句 | for i := 0; i < 5; i++ { ... }、for i, v := range arr { ... }、for x > 5 { ... }、for key, val := range mapData { ... }、for _, char := range str { ... } |
break語句 | for { if condition { break } }、switch { case x: if y { break } }、for x > 10 { ...; break; ... }、label: for { ...; break label; ... }、for i := 0; i < 10; i++ { if i == 5 { break } } |
continue語句 | for i := 0; i < 10; i++ { if i%2 == 0 { continue } }、for _, v := range data { if v == nil { continue } }、for x > 0 { ...; if condition { continue } ... }、for { if !isValid(data) { continue } ... }、for idx, value := range items { if value == "" { continue } } |
return語句 | func add(a, b int) int { return a + b }、func name() string { return "Alice" }、func getDetails() (string, int) { return "Alice", 30 }、func isActive() bool { ...; return false }、func calculate() float64 { ...; return result } |
goto語句 | label1: for { ...; if x > 5 { goto label1 } }、label2: fmt.Println("Start"); ...; goto label2、if condition { goto errorHandling } ... errorHandling: ...、if !isValid { goto cleanup } ... cleanup: ... |
defer語句 | file, _ := os.Open("file.txt"); defer file.Close()、mutex.Lock(); defer mutex.Unlock()、defer fmt.Println("Finished!")、conn.Connect(); defer conn.Disconnect()、reader := openReader(); defer reader.Close() |
go語句 | go fmt.Println("Running in goroutine")、go process(data)、go func(val int) { ... }(x)、go startServer()、go handleRequest(request) |
以上就是Go語句與表達(dá)式案例手冊深度解析的詳細(xì)內(nèi)容,更多關(guān)于Go語句表達(dá)式案例的資料請關(guān)注腳本之家其它相關(guān)文章!
- Go 語言入門學(xué)習(xí)之正則表達(dá)式
- Golang棧結(jié)構(gòu)和后綴表達(dá)式實現(xiàn)計算器示例
- 一文帶你全面掌握Go語言中的正則表達(dá)式
- 在?Go?語言中使用?regexp?包處理正則表達(dá)式的操作
- Go語言實戰(zhàn)之詳細(xì)掌握正則表達(dá)式的應(yīng)用與技巧
- Golang中正則表達(dá)式語法及相關(guān)示例
- Go語言利用正則表達(dá)式處理多行文本
- Go中regexp包常見的正則表達(dá)式操作
- Go正則表達(dá)式匹配字符串,替換字符串方式
- Go語言結(jié)合正則表達(dá)式實現(xiàn)高效獲取數(shù)據(jù)
- Go expr 通用表達(dá)式引擎的使用
相關(guān)文章
go語言VScode?see?'go?help?modules'?(exit?statu
最近上手學(xué)習(xí)go語言,準(zhǔn)備在VSCode上寫程序的時候卻發(fā)現(xiàn)出了一點問題,下面這篇文章主要給大家介紹了關(guān)于go語言VScode?see?'go?help?modules'(exit?status?1)問題的解決過程,需要的朋友可以參考下2022-07-07golang操作連接數(shù)據(jù)庫實現(xiàn)mysql事務(wù)示例
這篇文章主要為大家介紹了golang操作連接數(shù)據(jù)庫實現(xiàn)mysql事務(wù)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04GO語言實現(xiàn)的http抓包分析工具pproxy介紹
這篇文章主要介紹了GO語言實現(xiàn)的http抓包分析工具pproxy介紹,本文同時對比了Fiddler、Charles等抓包軟件,需要的朋友可以參考下2015-03-03GO語言中創(chuàng)建切片的三種實現(xiàn)方式
這篇文章主要介紹了GO語言中創(chuàng)建切片的三種實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09golang 在windows中設(shè)置環(huán)境變量的操作
這篇文章主要介紹了golang 在windows中設(shè)置環(huán)境變量的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04