go_字符和字符串處理
阿新 • • 發佈:2018-03-12
ins Go 操作 bytes pack decode ack count 字符數
rune相當於go的char
使用range遍歷pos,rune對
使用utf8.RuneCountInString(s)獲得字符數量
使用len獲得字節長度,使用[]byte獲得字節
一般把字節轉成[]rune,更加容易操作
package main import ( "fmt" "unicode/utf8" ) func main() { s:="Yes我愛上百度!" fmt.Println(s) for _,b:=range []byte(s) { fmt.Printf("%X ",b) } fmt.Println() for i,ch:=range s{//ch is a rune fmt.Printf("(%d %X)",i,ch) } fmt.Println() fmt.Println("Rune 長度", utf8.RuneCountInString(s)) bytes :=[]byte(s) for len(bytes)>0{ ch,size:=utf8.DecodeRune(bytes) bytes = bytes[size:] fmt.Printf("%c ",ch) } fmt.Println() for i,ch :=range []rune(s){ fmt.Printf("(%d %c)",i,ch) } fmt.Println() }
go_字符和字符串處理