Golang文字列タイプ-byte、rune、string
1588 ワード
文字列処理は、一般的には独立した章で説明することができます.Golangの文字列処理を見てみましょう.
一、string、byteの2つはよくあります.Golangのstringは,下層が[]byteである.ASCII文字の場合、Golangのデフォルトは1バイトです.漢字の場合、GolangはUTF-8文字セットで格納され、デフォルトでは3バイトです.
例を見ると、次の「勉強が好き」の3つの漢字はそれぞれ3バイトを占めています.
一、string、byteの2つはよくあります.Golangのstringは,下層が[]byteである.ASCII文字の場合、Golangのデフォルトは1バイトです.漢字の場合、GolangはUTF-8文字セットで格納され、デフォルトでは3バイトです.
例を見ると、次の「勉強が好き」の3つの漢字はそれぞれ3バイトを占めています.
package main
import "fmt"
func main() {
var str1 string = "123 "
fmt.Println(len(str1))
}
// :
15
, , 。
string , 。 , []byte, 。 , , , , 。
、byte int8, 。
:
package main
import (
"fmt"
"reflect"
)
func main() {
var str1 string = "123 "
for i:=0; i
、Golang rune, UTF-8 。
range :
package main
import (
"fmt"
"reflect"
)
func main() {
var str1 string = "123 "
for _, v := range str1 {
fmt.Println(v)
fmt.Println(reflect.TypeOf(v))
}
}
// :
49
int32
50
int32
51
int32
25105
int32
29233
int32
23398
int32
20064
int32
int32 , 。
package main
import (
"fmt"
)
func main() {
var str1 string = "123 "
rr := []rune(str1)
for i:=0; i
rune int32, 。
、 :
- byte int8, ascii
- rune int32, unicode utf-8
- string , byte[], 。 , []byte。