当前位置: 首页 > news >正文

go 字符串核心方法

  • 字符串拼接优先使用 strings.Builder 或 bytes.Buffer,避免频繁使用 + 导致内存分配
  • 对于大量字符串处理,考虑使用 []rune 处理 Unicode 字符
  • 使用 strings 包的函数通常比自己实现更高效

1、拼接

  • 使用 + 运算符(简单场景)
  • 使用 strings.Builder(高效拼接,推荐)
  • 使用 fmt.Sprintf(格式化拼接)
// 简单拼接
s1 := "hello"
s2 := "world"
s3 := s1 + " " + s2// 高效拼接
var builder strings.Builder
builder.WriteString(s1)
builder.WriteString(" ")
builder.WriteString(s2)
result := builder.String()

2、切割与拆分

  • Fields(s string)会将连续的空白字符(空格、制表符 \t、换行符 \n 等)视为一个分隔符,自动忽略字符串首尾的空白字符,返回一个字符串切片,包含所有非空白的子字符串(专门为处理各种空白场景设计的)
  • Split(s, " ")只会按单个空格分割,无法处理多个连续空格或其他空白字符
  • strings.FieldsFunc 如果需要自定义分割逻辑(不仅仅是空白字符),可以使用 FieldsFunc:
// 按照空格切分
s := "  hello   world  你好  \t世界\n"
result := strings.Fields(s) // 会将连续
fmt.Printf("%q\n", result) // 输出 ["hello" "world" "你好" "世界"]// 按特定字符切分
s := "a,b,c,d"
parts := strings.Split(s, ",")      // 按分隔符拆分
parts := strings.SplitN(s, ",", 2)  // 最多拆分n个部分
parts := strings.SplitAfter(s, ",") // 保留分隔符// 去除空字符串
s = "a,,b,c,,d"
parts = strings.FieldsFunc(s, func(r rune) bool {return r == ','
})

3、查找与替换

s := "hello world"// 查找
strings.Contains(s, "world")   // 是否包含子串
strings.Index(s, "l")          // 首次出现位置
strings.LastIndex(s, "l")      // 最后出现位置// 替换
strings.Replace(s, "l", "x", 2)   // 替换前n次
strings.ReplaceAll(s, "l", "x")   // 替换所有

4、大小写转换

s := "Hello World"
strings.ToLower(s) // 转为小写
strings.ToUpper(s) // 转为大写

5、修剪

s := "  hello world  \t\n"
strings.TrimSpace(s)        // 去除首尾空白
strings.Trim(s, " he")      // 去除首尾指定字符
strings.TrimLeft(s, " h")   // 去除左侧指定字符
strings.TrimRight(s, " d\n")// 去除右侧指定字符

6、字符串与数字转换

使用 strconv

// 字符串 → 整数
num, err := strconv.Atoi("123")// 整数 → 字符串
str := strconv.Itoa(123)// 字符串 → 浮点数
f, err := strconv.ParseFloat("3.14", 64)// 浮点数 → 字符串
str := strconv.FormatFloat(3.14, 'f', 2, 64)
http://www.sczhlp.com/news/68484/

相关文章:

  • 谁才是企业级开源平台的优选?OpenCSG与Dify、Coze、Langflow、Ollama 的差异化之路
  • 成都房产网官方网站静态网站建设的技术运用
  • 做海报有哪些网站wordpress5.0版本恢复到旧版本
  • 网站建设用语营销策略分析包括哪些内容
  • 青岛网站优化多少钱企业网站推广属于付费
  • 基于移相控制与PI控制器的双有源全桥(DAB)控制实现
  • Windows Server 2025 Active Directory权限提升漏洞检测工具
  • freeswitch 使用mod_xml_curl 模块做用户注册鉴权报错提示:No dial-string available, please check your user directory.
  • 网络设计开发网站有教做桥梁质检资料的网站吗
  • 网站上的广告是怎么做的怎么做网站流量竞品分析
  • 外贸开发产品网站建设wordpress 菜单添加图标
  • 化工网站建站模板做seo推广网站
  • 长春网站推广方式杭州哪些做网站公司好
  • 杭州网站制作工具苏州市建设局招标网站首页
  • 斗门网站建设公司网站模板图片
  • 安阳门户网站网站开发意见书
  • Windows保留端口导致IDEA启动项目失败
  • 邮件服务器性能监控与过载分析
  • RSTP、PRP、HSR三者之间有没有联系,如果没有那么他们各自的特点以及他们之间的区别又是什么?
  • 【AP出版社】2025年教育研究与培训技术国际学术会议(ERTT 2025)
  • 【SPIE出版|已连续多年EI检索】第四届公共管理、数字经济与互联网技术国际学术会议(ICPDI 2025)
  • 如何搭建一个自己的网站招财猫网站怎么做
  • 东莞市企业网站制作企业网站参数修改
  • 网站建设j介绍ppt模板做网站的赢利点
  • 龙岗个性化网站建设价格低百度站长平台账号
  • 外贸网站定制如何提高网站访问速度的文章
  • 南昌网站建设公司信息网站建设平台安全问题有哪些
  • 安远县建设局网站wordpress实现会员中心
  • 攻克大模型训练网络瓶颈,天翼云论文获ACM ICS顶会收录!