Golang:文字列
4228 ワード
Golang内の変数の種類は、byteバイト、rune文字rune:(goのcharに相当)です.レンゲを使用してpos-rune対 を巡回しました.は、utf 8.RuneCount InStringを用いて文字数 を取得する.バイト長 は、lenを使用して取得される.[]byteを使用してバイトを取得した 他の文字列の操作: Fields、Split、Join Conttains,Index Tolower、ToUpper Trim,TrimRight,TrimLeft ストリングス.go:
package main
import (
"fmt"
"unicode/utf8"
)
func main() {
s := "Yes !" // utf-8
fmt.Println(len(s))
fmt.Printf("%s
", []byte(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 count:", 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()
}
出力:16
Yes !
59 65 73 E6 88 91 E7 88 B1 E6 AC A3 E6 AC A3 21
(0 59)(1 65)(2 73)(3 6211)(6 7231)(9 6B23)(12 6B23)(15 21)
Rune count: 8
Y e s !
(0 Y)(1 e)(2 s)(3 )(4 )(5 )(6 )(7 !)