Go语言学习笔记——字符串(三)

字符

ASCII码字符(uint8型 或 byte型)
定义
var b byte = '1'
输出

数字大小:

fmt.Printf("%v", b)

49

对应字符:

fmt.Printf("%c", b)

1

UTF-8字符(rune型 或 int32型)
定义
var r rune = '好'
输出

数字大小:

fmt.Printf("%v", r)

22909

对应字符:

fmt.Printf("%c", r)

字符串

定义
s := "这是一条用来测试的字符串"
获取长度
sl := len(s)
拼接字符串
s1 := "你好," + s

s2 := fmt.Sprintf("%s%s", "你好,", s)
字符串分割
s3 := strings.Split(s, "的")

[这是一条用来测试 字符串]

是否包含
s4 := strings.Contains(s, "的")

也可用来测试子串是否被包含

s4 := strings.Contains(s, "的字符串")
判定开头(匹配开头字符串)
s5 := strings.HasPrefix(s, "这")
判定结尾(匹配结尾字符串)
s6 := strings.HasSuffix(s, "测")
获取元素第一次出现的索引
s7 := "AAABBCCCC"
s8 := strings.Index(s7, "A")

参数为一个子串也可

s8 := strings.Index(s7, "AA")

若不存在返回-1

获取元素最后一次出现的索引
s7 := "AAABBCCCC"
s9 := strings.LastIndex(s7, "A")

参数为一个子串也可

s9 := strings.LastIndex(s7, "AA")

若不存在返回-1

修改字符串
  • 要修改字符串,需要先将其转换成[]rune或[]byte,完成后再转换为string
  • 无论哪种转换,都会重新分配内存,并复制字节数组。
byteS1 := []rune(s)
byteS1[0] = 'H'
s10 := string(byteS1)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值