字元和字串處理是程式設計中非常常見的任務。不同的程式語言提供了各種內建函式和方法來處理字元和字串。在 Go 語言中,字串處理有其獨特的方式。以下是一些常見的字元和字串處理操作及其示例:
1. 字串建立與初始化
package main import "fmt" func main() { // 字串字面量 s1 := "Hello, World!" // 使用字串的另一種表示法 s2 := `Hello, World!` fmt.Println(s1) fmt.Println(s2) }
2. 字串長度
package main import "fmt" func main() { s := "Hello, 世界" fmt.Println(len(s)) // 輸出字串的位元組長度 }
3. 字串遍歷
package main import "fmt" func main() { s := "Hello, World" // 按位元組遍歷 for i := 0; i < len(s); i++ { fmt.Printf("%c ", s[i]) } fmt.Println() // 按字元遍歷 for _, r := range s { fmt.Printf("%c ", r) } fmt.Println() }
4. 字串拼接
package main import ( "fmt" "strings" ) func main() { s1 := "Hello" s2 := "World" // 使用 + 運算子 s3 := s1 + ", " + s2 + "!" fmt.Println(s3) // 使用 strings.Join 函式 s4 := strings.Join([]string{s1, s2}, ", ") fmt.Println(s4) }
5. 字串分割
package main import ( "fmt" "strings" ) func main() { s := "a,b,c,d,e" // 分割字串 parts := strings.Split(s, ",") fmt.Println(parts) }
6. 字串查詢
package main import ( "fmt" "strings" ) func main() { s := "Hello, World!" // 查詢子串的位置 pos := strings.Index(s, "World") fmt.Println(pos) // 檢查子串是否存在 contains := strings.Contains(s, "Hello") fmt.Println(contains) }
7. 字串替換
package main import ( "fmt" "strings" ) func main() { s := "Hello, World!" // 替換子串 s = strings.Replace(s, "World", "Go", 1) fmt.Println(s) }
8. 字串轉換
package main import ( "fmt" "strconv" ) func main() { // 整數轉字串 i := 123 s := strconv.Itoa(i) fmt.Println(s) // 字串轉整數 s = "456" i, err := strconv.Atoi(s) if err != nil { fmt.Println("Error:", err) } fmt.Println(i) }
9. 字串修剪
package main import ( "fmt" "strings" ) func main() { s := " Hello World " trimmedS := strings.TrimSpace(s) fmt.Println(trimmedS) // 輸出:Hello World }