06.字符和字符串处理
字符和字符串处理是编程中非常常见的任务。不同的编程语言提供了各种内置函数和方法来处理字符和字符串。在 Go 语言中,字符串处理有其独特的方式。以下是一些常见的字符和字符串处理操作及其示例:
1. 字符串创建与初始化#
package main import "fmt" func main() { // 字符串字面量 s1 := "Hello, World!" // 使用字符串的另一种表示法 s2 := `Hello, World!` fmt.Println(s1) fmt.Println(s2) }
2. 字符串长度#
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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具