字符串常见的使用方法
// 获取长度
var name string = "张无极"
fmt.Println(name)
fmt.Println(utf8.RuneCountInString(name))
// 是否以xx开头
name2 := "张无忌"
reslut := strings.HasPrefix(name2, "张")
fmt.Println(reslut)
// 是否以xx结尾
result := strings.HasSuffix(name2, "无忌")
fmt.Println(result)
// 是否包含 类似 python in
result2 := strings.Contains(name2, "无")
fmt.Println(result2)
fmt.Println("===============")
// 全变大写 类似 python upper
stringTest1 := "fff afa fUUUU 涨"
fmt.Println(strings.ToUpper(stringTest1))
// 全变小写
fmt.Println(strings.ToLower(stringTest1))
// 替换所有是-1 是左到右第一个 是1
fmt.Println(strings.Replace(stringTest1, "f", "", 1))
fmt.Println(strings.Replace(stringTest1, "f", "", 2))
fmt.Println(strings.Replace(stringTest1, "f", "", -1))
// 分割 split
splitTest := strings.Split(stringTest1, " ")
fmt.Println(splitTest[len(splitTest)-1])
// 拼接
mes := "你好" + "我好" // 不建议使用
fmt.Println(utf8.RuneCountInString(mes))
// 高效率的字符串拼接方法 非常推荐使用
var builder strings.Builder
builder.WriteString("我爱你")
builder.WriteString("中国")
value := builder.String()
fmt.Println(value, utf8.RuneCountInString(value))
// 字符串转换成int
var num int = 12
fmt.Println(strconv.Itoa(num), reflect.TypeOf(strconv.Itoa(num)))
textStr := "2141414141414"
fmt.Println(strconv.Atoi(textStr))
textStr2 := "0101010010"
fmt.Println(strconv.ParseInt(textStr2, 2 ,10))
fmt.Println(strconv.FormatInt(int64(num), 16))
// 字符串 转换
v1 := string(100)
fmt.Println(v1)
v2, size := utf8.DecodeRuneInString("d")
fmt.Println(v2, size)