Go字符串常用函数

package main

import (
	"fmt"
	"strconv"
	"strings"
)

/*
	系统内置的String常用的函数
*/
func main() {
	str :="这是一个字符串"
	fmt.Println(len(str))//输出8中文是按照字节来输出

	//遍历带中文的字符串
	str2 := []rune(str)//切片  遍历有中文的字符串需要先将字符串转为rune切片
	for i:=0;i<len(str2);i++ {
		fmt.Printf("字符=%c
",str2[i])
	}
	//数字字符串转为int类型
	strInt:="123"
	n,error:=strconv.Atoi(strInt)
	if error !=nil{
		fmt.Println("转换错误",error)
	}else{
		fmt.Println(n)//现在就是转换为int类型了
	}

	//int类型转为字符串
	num :=123
	intStr :=strconv.Itoa(num)
	fmt.Printf("inetStr类型是:%T%v
",intStr,intStr)

	//字符串转为[]byte
	bytes :=[]byte( "转为byte类型")
	fmt.Println(bytes)//这样就是输出对应的阿斯克码

	//[]byte转字符串
	byteStr :=string([]byte{97,98,99})
	fmt.Println(byteStr)

	//十进制转为2,8,16进制的字符串
	str = strconv.FormatInt(123,2)
	fmt.Printf("123对应的2进制:%v
",str)

	//查找字符串中是否包含某个值
	strVal :="查找字符串"
	b:=strings.Contains(strVal,"字")
	if b{
		fmt.Println("b字符串包含字",b)
	}
	//统计字符串中有几个指定的值
	strVal2 :="aaacgv"
	num2 :=strings.Count(strVal2,"a")
	fmt.Printf("strval2中包含%v个a
",num2)
	//字符串比较 如果用==是区分大小写的,strings.EqualFold是不区分大小写
	judge :=strings.EqualFold("GO","go")
	fmt.Println(judge)
	//判断字符串中子字符串出现的位置 等于js中的 indexOf
	index :=strings.Index("chicken","n")//返回结果和js一样没有找到就是-1
	fmt.Println(index)
	//判断字符串中子字符串最后出现的位置
	index1 :=strings.LastIndex("chicken","c")
	fmt.Println(index1)
	//将字符串中指定的值替换为其他值
	str = strings.Replace("oink oink oink","o","s",-1)//strings.Replace(字符串,指定值,替换为,(-1:是全部 1:是一个))
	fmt.Println(str)
	//字符串分隔为数组 与js中的split一样
	strArr := strings.Split("a,b,v,b",",")
	fmt.Printf("%v
",strArr)
	//将字符串中的值进行大小写转换
	str = "Hello"
	//str3 := strings.ToLower(str)//转小写
	str3 := strings.ToUpper(str)//转大写
	fmt.Println(str3)
	//去除字符串首尾空格 跟PHP trim一样
	str = " hello "
	str = strings.TrimSpace(str)
	fmt.Printf("%q
",str)
	//字符串首尾指定字符去除
	str ="! hello! "
	//str= strings.Trim(str,"! ")
	//str =strings.TrimLeft(str,"!")//去除字符串左边指定字符
	str =strings.TrimRight(str," ")//去除字符串右边边指定字符
	fmt.Printf("%q
",str)
	//判断字符串是否以指定字符开头
	a := strings.HasPrefix(str,"!")
	a = strings.HasSuffix(str,"!")//判断是否以指定字符结尾
	fmt.Println(a)
}

  

原文地址:https://www.cnblogs.com/sheep-fu/p/14749042.html