Golang 程式碼中控制語句的藝術
控制語句在 Go 中用來控製程式流,包括順序語句(if/switch)、選擇語句(for/while/range)和迴圈語句(break/continue)。此外,實戰場景中,根據使用者輸入的購物清單,利用控制語句可以將物品依類別分組,如乳製品、主食、水果、肉類等。
Golang 程式碼中控制語句的藝術
控制語句在程式設計中至關重要,用於控製程式執行流程。 Go 語言提供了豐富的控制語句集,包括順序語句、選擇語句和循環語句。
順序語句
- if 語句:用來執行取決於條件是否為真的程式碼區塊。例如:
if x > 0 { // x 为正数 } else { // x 不是正数 }
- switch 語句:用於根據值匹配執行程式碼區塊。例如:
switch x { case 0: // x 为 0 case 1: // x 为 1 default: // x 不是 0 或 1 }
選擇語句
- #for 迴圈:重複執行程式碼區塊,直到條件為假。例如:
for i := 0; i < 10; i++ { // 执行代码块 }
- while 迴圈:重複執行程式碼區塊,只要條件為真。例如:
while x > 0 { // 执行代码块 x-- }
- range 迴圈:遍歷集合中的元素,並為每個元素執行程式碼區塊。例如:
for k, v := range m { // k 为键,v 为值 }
循環語句
- #break 語句:立即退出迴圈。例如:
for i := 1; i <= 10; i++ { if i == 5 { break } }
- continue 語句:跳過目前迴圈迭代,繼續執行下一迭代。例如:
for i := 1; i <= 10; i++ { if i % 2 == 1 { continue } // 只执行偶数 }
實戰案例
考慮以下情境:處理使用者的輸入,其中包含購物清單。我們想將清單中的項目分組到不同類別。
程式碼:
package main import ( "fmt" "strconv" "strings" ) func main() { var input string fmt.Print("输入购物清单(以逗号分隔):") fmt.Scanln(&input) categories := make(map[string][]string) for _, item := range strings.Split(input, ",") { item = strings.TrimSpace(item) category := getCategory(item) categories[category] = append(categories[category], item) } for category, items := range categories { fmt.Println(category) for _, item := range items { fmt.Println(" ", item) } } } func getCategory(item string) string { switch { case strings.Contains(item, "牛奶") || strings.Contains(item, "鸡蛋"): return "乳制品" case strings.Contains(item, "面包") || strings.Contains(item, "大米"): return "主食" case strings.Contains(item, "苹果") || strings.Contains(item, "香蕉"): return "水果" case strings.Contains(item, "鱼") || strings.Contains(item, "肉"): return "肉类" default: return "其他" } }
在這個範例中,我們使用一系列if 語句來將物品歸類到不同的類別中,並使用for 迴圈來遍歷輸入列表和列印結果。
以上是Golang 程式碼中控制語句的藝術的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在Go中安全地讀取和寫入檔案至關重要。指南包括:檢查檔案權限使用defer關閉檔案驗證檔案路徑使用上下文逾時遵循這些準則可確保資料的安全性和應用程式的健全性。

如何為Go資料庫連線配置連線池?使用database/sql包中的DB類型建立資料庫連線;設定MaxOpenConns以控制最大並發連線數;設定MaxIdleConns以設定最大空閒連線數;設定ConnMaxLifetime以控制連線的最大生命週期。

可以透過使用gjson函式庫或json.Unmarshal函數將JSON資料儲存到MySQL資料庫中。 gjson函式庫提供了方便的方法來解析JSON字段,而json.Unmarshal函數需要一個目標類型指標來解組JSON資料。這兩種方法都需要準備SQL語句和執行插入操作來將資料持久化到資料庫中。

GoLang框架與Go框架的差異體現在內部架構與外部特性。 GoLang框架基於Go標準函式庫,擴充其功能,而Go框架由獨立函式庫組成,以實現特定目的。 GoLang框架更靈活,Go框架更容易上手。 GoLang框架在效能上稍有優勢,Go框架的可擴充性更高。案例:gin-gonic(Go框架)用於建立RESTAPI,而Echo(GoLang框架)用於建立Web應用程式。

後端學習路徑:從前端轉型到後端的探索之旅作為一名從前端開發轉型的後端初學者,你已經有了nodejs的基礎,...

Go框架開發常見問題:框架選擇:取決於應用需求和開發者偏好,如Gin(API)、Echo(可擴展)、Beego(ORM)、Iris(效能)。安裝和使用:使用gomod指令安裝,導入框架並使用。資料庫互動:使用ORM庫,如gorm,建立資料庫連線和操作。身份驗證和授權:使用會話管理和身份驗證中間件,如gin-contrib/sessions。實戰案例:使用Gin框架建立一個簡單的部落格API,提供POST、GET等功能。

FindStringSubmatch函數可找出正規表示式匹配的第一個子字串:此函數傳回包含匹配子字串的切片,第一個元素為整個匹配字串,後續元素為各個子字串。程式碼範例:regexp.FindStringSubmatch(text,pattern)傳回符合子字串的切片。實戰案例:可用於匹配電子郵件地址中的域名,例如:email:="user@example.com",pattern:=@([^\s]+)$獲取域名match[1]。

Go語言中哪些庫是大公司開發或知名開源項目?在使用Go語言進行編程時,開發者常常會遇到一些常見的需求,�...
