46 lines
1.1 KiB
Go
46 lines
1.1 KiB
Go
package main
|
||
|
||
import (
|
||
"fmt"
|
||
"strings"
|
||
)
|
||
|
||
func main() {
|
||
// 字符串初始化
|
||
s1 := "Golang语言"
|
||
s2 := `多行字符串,
|
||
小猫:喵喵喵,
|
||
小狗:汪汪汪`
|
||
|
||
fmt.Println("s1:", s1)
|
||
fmt.Println("s2:", s2)
|
||
|
||
// 字符串长度(字节数)
|
||
fmt.Printf("s1长度(字节): %d\n", len(s1)) // 输出12("Golang"6字节 + "语言"6字节)
|
||
|
||
// 字符串遍历(for vs for range)
|
||
fmt.Println("for遍历(按byte):")
|
||
for i := 0; i < len(s1); i++ {
|
||
fmt.Printf("%x ", s1[i]) // 输出字节的十六进制,中文会拆分为多字节
|
||
}
|
||
|
||
fmt.Println("\nfor range遍历(按rune):")
|
||
for _, r := range s1 {
|
||
fmt.Printf("%c ", r) // 输出完整字符:G o l a n g 语 言
|
||
}
|
||
|
||
// 字符串修改(需转[]rune)
|
||
s3 := "hello"
|
||
runes := []rune(s3)
|
||
runes[0] = 'H'
|
||
s3 = string(runes)
|
||
fmt.Printf("\n修改后: %s\n", s3) // 输出Hello
|
||
|
||
// 高效字符串拼接
|
||
var builder strings.Builder
|
||
for i := 0; i < 5; i++ {
|
||
builder.WriteString(fmt.Sprintf("part%d", i))
|
||
}
|
||
fmt.Println("拼接结果:", builder.String()) // part0part1part2part3part4
|
||
}
|