Go で文字列をスライスする必要があります。可能な値には、ラテン文字および/またはアラビア語/中国語の文字を含めることができます。次の例では、アラビア文字列のアルファベットのスライス アノテーション[:1]
が予期しない値/文字を返しています。
package main
import "fmt"
func main() {
a := "a"
fmt.Println(a[:1]) // works
b := "ذ"
fmt.Println(b[:1]) // does not work
fmt.Println(b[:2]) // works
fmt.Println(len(a) == len(b)) // false
}