美文网首页
golang-string

golang-string

作者: 爱吃豆包 | 来源:发表于2019-12-17 20:14 被阅读0次

推荐 使用 strings 这个包处理字符串

package main

import (
    "fmt"
    "strings"
    "unicode/utf8"
)

func main()  {

    s := "Yes我爱中国!" // UTF-8编码

    // 输出的是 16 进制编码的总个数
    fmt.Println(len(s))

    // 遍历 16 进制编码
    for _, b := range []byte(s){
        fmt.Printf("%X ", b)
    }

    fmt.Println()

    // 遍历文字
    for i, ch := range s { // ch 就是 rune 类型
        fmt.Printf("(%d %X)",i ,ch)
    }

    fmt.Println()

    fmt.Println("s 字符总数:", utf8.RuneCountInString(s))

    /**
        输出每一个字符
            但是繁琐
     */
    bytes := []byte(s)
    for len(bytes) > 0 {

        // 转换成 rune 类型
        ch, size := utf8.DecodeRune(bytes)
        bytes = bytes[size:]
        // 输出 字符
        fmt.Printf("%c ", ch)

    }

    fmt.Println()

    /**
        输出每一个字符
            推荐使用
     */
    for i, ch := range []rune(s){
        fmt.Printf("(%d %c)", i, ch)
    }

    fmt.Println()

    // strings 操作包,有许多针对字符串的函数,推荐使用
    // 把英文转换为大写
    s1 := strings.ToUpper(s)
    fmt.Println(s1)

}

相关文章

网友评论

      本文标题:golang-string

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