go test fuzz v1
string("ᓿ")
唯讀的Byte組成的,而 Byte 的格式都是長這樣\xNN #而NN的範圍從十六進位的00到FF都被包括在裡面
\0xfc\0x13\0xc3 #這樣可能是一個字元
String 以外,還有個咚咚叫做 Runes
runes的作用,就是把我們前面的 Byte by Byte 變成是有效的字符會弄在一起func main() {
example := "鐵人"
fmt.Println([]rune(example))
fmt.Println([]byte(example))
}
----------------------------------
Output:
[37941 20154]
[233 144 181 228 186 186]
rune 會把鐵這個字當作一個完整的 UTF-8 來翻 而不是 byte 一個一個字節去翻string 改成 rune 的型態Reverse() 的參數 String 用 Runes 去接起來換掉變成下面這個樣子func Reverse(s string) string {
r := []rune(s)
for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 {
r[i], r[j] = r[j], r[i]
}
return string(r)
}