美文网首页我爱编程
Golang string 笔记

Golang string 笔记

作者: 彩色的铅笔盒 | 来源:发表于2015-11-14 22:50 被阅读0次

    Golang 中的字符串,有两种表示方法:

    s1 := "hello, world"
    s2 := `hello, world.
    send using Golang`
    

    Golang 中没有字符类型(就是 C 中的 char),字符串都是 rune 类型。Golang 中字符串以 UTF-8 编码后存储,存储的是字节。

    UTF-8 实际是上一种变长编码,一个字符(一个中文字或其他语言的文字)可能以 1 个、2 个或 3 个字节来存储。作为对比,一个 ASCII 字符只需要一个字节,当然 ASCII 可以表示的字符就比较有限了。

    在 Golang 中,字符串的内容一但被创建,是不能被修改的。如果需要修改字符串,可以将字符串转换为 []byte 或者 []rune。需要特别指出的一点是在使用 for ... range 遍历字符串中的字符时,Golang 会自动将 string 转换为 []rune,然后再遍历字符串。例如:

     s := "hello 世界"
    for i, v := range s {
        fmt.Printf("%v = %c\n", i, v)
    }
    

    输出:

    0 = h
    1 = e
    2 = l
    3 = l
    4 = o
    5 =  
    6 = 世
    9 = 界
    

    len(s) 返回的是字符串 s 的字节数。

    相关文章

      网友评论

        本文标题:Golang string 笔记

        本文链接:https://www.haomeiwen.com/subject/jnrkhttx.html