06.字符和字符串处理
字符和字符串处理是编程中非常常见的任务。不同的编程语言提供了各种内置函数和方法来处理字符和字符串。在 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 }