Go 言語の文字列は不変であり、変更するには新しい文字列を作成する必要があります。一般的な操作には、文字列の連結、長さの取得、比較、スライス (部分文字列の取得)、検索、置換、大文字と小文字の変換、および型の変換が含まれます。実際のケースでは、URL 解析と文字列テンプレートの使用が示されています。
#Go 文字列処理のヒント: 可変性と一般的な操作
可変性Strings 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 中国語 Web サイトの他の関連記事を参照してください。