The len() function returns the number of bytes in a string, not characters:
s := "Hello"
fmt.Println(len(s)) // 5
s = "日本語"
fmt.Println(len(s)) // 9 (3 chars × 3 bytes each)
ASCII characters use byte each. Many other characters use to bytes. When working with international text, remember that len() counts bytes.