Go基础类型随记

122 阅读1分钟

对于int,uint变量,根据运行时操作系统决定位数。可创建int8,int16类型

输出:十进制%d,二进制%b,八进制%o,十六进制%x

字符串类型跟java类似,不可进行修改,但是也支持拼接操作

字符串切片:var str := “eyigyyfasga” 切片方式 str[n:m],str[:m],str[n:]

strings包常用函数:

1、分割字符串
strings.Split(s, sep)
//s待分割字符串,sep分隔符,切割后返回一个字符串切片,包import "strings"

2、拼接字符串
//将数组元素拼接,中间用分隔符隔开
test := strings.Join([]string{"a", "b", "c"}, "split")

3、查找某个字符是否在这个字符串中存在
func Contains(s, substr string) bool存在返回true
// fmt.Println(strings.Contains("widuu", "wi")) //true
// fmt.Println(strings.Contains("wi", "widuu")) //false

4、字符串中有多少匹配到的字符
func Count(s, sep string) int
// fmt.Println(strings.Count("widuu", "uu")) //1
//fmt.Println(strings.Count("widuu", "u"))  //2

5、查找字符串,然后返回当前的位置
func Index(s, sep string) int 
// fmt.Println(strings.Index("widuu", "i")) //1
// fmt.Println(strings.Index("widuu", "u")) //3

6、字符串最后出现的位置
func LastIndex(s, sep string) int
//fmt.Println(strings.LastIndex("widuu", "u")) // 4

7、字符串截取
str := "sssssddddd"
rs := []rune(str)
// rs[开始索引:结束索引],左开右闭
fmt.Println(string(rs[3:6]))//ssd

8、去除字符串前后空格
str := " 1111    "
s := strings.Trim(str," ")
fmt.Println(len(s))//4

9、字符串替换
func Replace(s, old, new string, n int) string
//在s字符串中,把old字符串替换为new字符串,n表示替换的次数,小于0表示全部替换
//替换两次
fmt.Println(strings.Replace("oink oink oink", "k", "ky", 2)) //oinky oinky oink
//全部替换
fmt.Println(strings.Replace("oink oink oink", "oink", "moo", -1))//moo moo moo