Golang(Go语言)代码技巧之字符串(string)

  • 改变字符串中的某些字符
  
  
str := "hello roc"
bytes := []byte(str)
bytes[1] = 'a'
str = string(bytes) //str == "hallo roc"
  • 截取子串
   
   
substr := str[n:m] //截取从索引n到m-1的子串
  • 遍历字符串
    
    
//for遍历,此方式只能遍历存放ASCII
//编码的字符串,比如中文就不行
for i := 0; i < len(str); i++ {
//... = str[i]
}
//for-range遍历,此方式可以遍历Unicode
//编码的字符串,不担心乱码
for index, char := range str {
fmt.Printf("%d %c\n",index,char)
}
  • 计算字符串长度
   
   
//字符串中字符全为ASCII中的字符
len(str)
//字符串中含非ASCII的Unicode字符
utf8.RuneCountInString(str)
  • 连接字符串
    速度最快的写法:
   
   
var buf bytes.Buffer
buf.WriteString("hello ")
buf.WriteString("roc")
fmt.Println(buf.String()) //hello roc
    还有如下两种方式:
   
   
str := strings.Join([]string{"hello"," world"},"")
fmt.Println(str)
    
    
str := "hello"
str += "roc"



  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值