• 技术文章 >后端开发 >Golang

    简析golang中rune类型

    藏色散人藏色散人2021-12-01 14:28:00转载349
    本文由go语言教程栏目给大家介绍关于golang rune类型,希望对需要的朋友有所帮助!

    golang中rune类型

    在golang中rune等同于int32,只是一般用于字符转换。golang中len()方法主要计算数组长度。

    golang中默认存储字符串是采用utf8格式,utf8采用变长字节存储,英文字母是单字节存储,中文是3个字节存储,所以-1和-2的执行结果是16和15。golang中有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中rune类型的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:segmentfault,如有侵犯,请联系admin@php.cn删除
    专题推荐:google 后端
    上一篇:探讨go中的var是否能初始化结构体 下一篇:快速解决go get golang.org/x 包不成功的问题
    PHP编程就业班

    相关文章推荐

    • 聊聊golang怎么调用php7• 如何在Mac环境下配置 Golang 环境• Golang和Lua相遇会擦出什么火花?• 经验分享:golang与c语言是如何相互调用!

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网