登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> SoftHub关联区 >> 主题: golang 中的字符串与 rune 与 byte 的转换     [回主站]     [分站链接]
golang 中的字符串与 rune 与 byte 的转换
clq
浏览(228) - 2019-06-27 20:30:46 发表 编辑

关键字: golang

[2019-06-27 20:35:27 最后更新]
golang 中的字符串与 rune 与 byte 的转换

golang 的字符串默认是 utf8 的序列。但按平常的 for 循环的话得到的其实是 byte 的遍历. 要遍历各个字符串的话实际要转换成 rune 数组.

rune('c')  这样就是得到一个 rune 可以用来比较。
'c' 这样其实是得到一个 byte 可以用来和 byte 比较.


--------------------------------------------------
 Go 将 rune 转换为 string
2018-11-07

在 Go 中有几种方式将 rune 类型转换为 string

1
2

string('c')
// string(rune('c'))

1
c

或者借助 strconv 包

1
strconv.QuoteRune('c')

1
'c'

这种方式会将单引号也打印出来

--------------------------------------------------
循环的方法可以看以下的函数实例
//ExtractFileName:返回完整文件名中的文件名称 (带扩展名),如"mytest.doc"
//ExtractFileExt 返回完整文件名中的文件扩展名(带.),如".doc"
func ExtractFileExt(s string) (string) {
   
    r := "";
   
    //for i:=0; i < len(s); i++{
//    for i:=len(s)-1; i >=0; i--{

//        c := s[i]; //这样得到的是 byte
       
//        //fmt.Printf("%c", s[i])
////        if (c == ' ')  { return false; }
//        if (c == '/')  { return r; }
//        if (c == '\\') { return r; }
//        if (c == '.')  { r = c + r; return r; }

       
//        r = c + r;

//    }
   
    //-----------------
    //str := "烫烫烫烫";
    //array := []rune(str);
//    str := "./\\";
//    array := []rune(str);
   
//    ch1 := array[0];
//    ch2 := array[1];
//    ch3 := array[2];
   
    //这样遍历不能从后向前
    //for i, ch := range s {
    //    fmt.Println(i, ch) //ch的类型为rune 默认utf-8编码,一个汉字三个字节
   
    array := []rune(s);
   
    for i:=len(array)-1; i >=0; i--{
        ch := array[i];
        fmt.Println(i, ch) //ch的类型为rune 默认utf-8编码,一个汉字三个字节
       
        //if (ch == (string(".")[0])) { return r; }
        //if (ch == ch1) { return r; }
       
        if (ch == rune('/'))  {  return r; }
        if (ch == rune('\\')) {  return r; }
        if (ch == rune('.'))  { r = string(ch) + r; return r; }
       
        r = string(ch) + r;
    }   

   
    return r;

   
}//






总数:0 页次:1/0 首页 尾页  
总数:0 页次:1/0 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1