06.字元和字串處理

JJJhr發表於2024-07-09

  字元和字串處理是程式設計中非常常見的任務。不同的程式語言提供了各種內建函式和方法來處理字元和字串。在 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
}

相關文章