ホームページ >バックエンド開発 >Golang >golang でのルーンタイプの簡単な分析

golang でのルーンタイプの簡単な分析

藏色散人
藏色散人転載
2021-12-01 14:28:006684ブラウズ

この記事は、go language golang のルーン タイプに関するチュートリアル コラムで紹介されたもので、困っている友人の役に立てば幸いです。

golang のルーン型

golang では、ルーンは int32 に相当しますが、通常は文字変換に使用されます。 golang の len() メソッドは主に配列の長さを計算します。

golang のデフォルトのストレージ文字列は utf8 形式であり、utf8 は可変長バイトストレージを使用し、英語の文字は 1 バイトで格納され、中国語は 3 バイトで格納されるため、-1 と - の実行結果は2 16 と 15 です。 golang には 2 つの方法があります。utf8.RuneCountInString と []rune() を使用して、utf8 を 4 バイトの int32 ストレージに変換し、int32 配列の長さを計算します。

 -1
 address := "this is shanghai"
 fmt.Println("len(address):",len(address))
 
 -2
 address := "this is shanghai"
 fmt.Println("len(address):",len(address))
 
 -3
 addressThree := "这是在上海"     
 fmt.Println("len(address):",utf8.RuneCountInString(addressThree))

 -4
 fmt.Println("len(address):",len([]rune(addressThree)))
 
 -5 
 unicode.Is(unicode.Han, c) //可以判断字符是否是汉语

結果

-1 
len(address): 16

-2
len(address): 15

-3
len(address): 5

-4
len(address): 5

以上がgolang でのルーンタイプの簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。