GoLang字符串处理
字符串常见的使用方法 // 获取长度 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)