Go 語言中的字串是不可變的,需要建立新字串進行修改。常用操作包括:字串連接、長度取得、比較、切片(取子字串)、尋找、取代、大小寫轉換、類型轉換。在實戰案例中,示範了 URL 解析和字串模板的使用。
Go 字串處理秘技:可變性與常用運算
可變性
Go 中的字串不可變,這表示一旦建立一個字串,就不能對其進行修改。要修改字串,需要建立一個新的字串。
常用操作
以下是一些常用的字串操作:
// 字符串连接 result := "Hello" + ", " + "World!" // 字符串长度 fmt.Println("Hello, World!".Len()) // 字符串比较 fmt.Println("Hello, World!" == "Hello, World!") // 字符串切片(取子字符串) fmt.Println("Hello, World!"[1:7]) // 字符串查找 index := strings.Index("Hello, World!", "World") fmt.Println(index) // 字符串替换 result := strings.Replace("Hello, World!", "World", "Go", 1) // 字符串转换大小写 fmt.Println(strings.ToUpper("Hello, World!")) fmt.Println(strings.ToLower("HELLO, WORLD!")) // 字符串转换为其他类型 number, err := strconv.Atoi("1234") if err != nil { // handle error }
實戰案例
URL 解析
import "net/url" url, err := url.Parse("https://example.com/paths/name?q=param") if err != nil { // handle error } path := url.Path query := url.Query() result := path + "?" + query.Encode()
字串模板
import "text/template" const templateSource = "{{.Name}} is {{.Age}} years old." tmpl, err := template.New("template").Parse(templateSource) if err != nil { // handle error } data := struct{ Name string Age int } tmpl.Execute(os.Stdout, data)
以上是Golang 字串處理秘技:字串的可變性與常用操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!