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)

  

原文地址:https://www.cnblogs.com/zjaiccn/p/14215743.html