package main import "fmt" func main() { //========== 全英文字符串截取子字符串 ==========// letter := "ABCDEFGHIJKLMNOPQRSTUVWXYZ" letterSub := string([]byte(letter)[2:8]) // 截取区间为[2, 8) fmt.Printf("letterSub = %+v \n", letterSub) // letterSub = CDEFGH //========== 中英文混合字符串截取子字符串 ==========// str := "零A壹B贰C叁D肆E伍F陆G柒H捌I玖J拾" strSub := string([]rune(str)[2:8]) // 截取区间为[2, 8) fmt.Printf("strSub = %+v \n", strSub) // strSub = 壹B贰C叁D } //========== 总结 ==========// // 1、rune实际上就是int32的别名。 // 2、使用[]rune截取中英文混合字符串时会忽略汉字及其它Unicode字符的字节数,不按字节数来截取,而按字符数来截取。
Copyright © 2024 码农人生. All Rights Reserved