字符串涉及的用法strings
1)统计 strings.Count 2)替换 strings.Replace() 3)组合 strings.Join() 4)清洗 strings.Trim() 5)查找子串 strings.Index();strings.Contains() 6)分割 strings.Split() 7)大小写替换 strings.ToUpper() 8)前缀和后缀 strings.HasPrefix()
byte的用法
byte的定义初始化 第一种方式 var b byte b = byte(1)#这里可以是0-255 第二种方式 b := []byte("china is beautiful") 使用调用函数的方式与strings一致
string->byte
a:="hello world" byte_a := []byte(a) string_a := string(byte_a) fmt.Println(byte_a)//[104 101 108 108 111 32 119 111 114 108 100] fmt.Println(string_a)
通过unsafe和reflect包,可以实现另外一种转换方式,我们将之称为强转换(也常常被人称作黑魔法)。
func String2Bytes(s string) []byte { sh := (*reflect.StringHeader)(unsafe.Pointer(&s)) bh := reflect.SliceHeader{ Data: sh.Data, Len: sh.Len, Cap: sh.Len, } return *(*[]byte)(unsafe.Pointer(&bh)) } func Bytes2String(b []byte) string { return *(*string)(unsafe.Pointer(&b)) }
标签:string,unsafe,Len,sh,使用,字符串,byte,strings From: https://www.cnblogs.com/topass123/p/16989598.html