美文网首页Golang基础
Golang基础(八)-- 字符、字符串与正则表达式

Golang基础(八)-- 字符、字符串与正则表达式

作者: 魔改谢馒头 | 来源:发表于2018-11-28 20:33 被阅读6次

    诶,开工开工

    一、字符、字符串、整型

    在接触golang的时候字符串部分基本都是一带而过的,就知道声明以后的字符串就算不初始化也不为nil
    而且字符串本身不可以修改,需要转成[]byte数组去操作。

    这是最开始了解到的基本操作,但是再往后就会接触到各种奇奇怪怪的类型例如,
    byte-uint8,uint8,uint16,uint32,uint64,rune-int32,int8,int16,int32-int,int64

    二、字符串和原生字符串

    原生字符串:就是不转义的字符串(我是这么理解的)。golang中的原生字符串用 `` 在数字1旁边的两个反引号去表示,区别于双引号字符串。

    不转义是怎么理解呢,举个栗子

    CODE:
    func main() {
        str1 := "asd"
        str2 := `asd`
        str3 := "\n"
        str4 := `\n`
        str5 := "\\n"
        str6 := `\\n`
    
        fmt.Println("str1:" + str1)
        fmt.Println("str2:" + str2)
        fmt.Println("str1==str2:" + fmt.Sprintln(str1 == str2))
        fmt.Println("str3:" + str3)
        fmt.Println("str4:" + str4)
        fmt.Println("str5:" + str5)
        fmt.Println("str6:" + str6)
        fmt.Println("str1+str3+str4+str3+str2:" + str1 + str3 + str4 + str3 + str2)
    }
    
    OUTPUT:
    
    str1:asd
    str2:asd
    str1==str2:true
    str3:
    str4:\n
    str5:\n
    str6:\\n
    str1+str3+str4+str3+str2:asd
    \n
    asd
    

    我在代码里分别打印出来几种情况:
    打印出来的第三行,str1==str2: 显示原生字符串和普通字符串的值是相等的
    str3和str4可以看出原生和双引号字符串在转义上的区别。

    然后最后一行是测试字符串拼接的问题,所以原生字符串和普通的字符串可以直接拼接,转义出来的字符并不受影响。

    三、正则表达式

    相关文章

      网友评论

        本文标题:Golang基础(八)-- 字符、字符串与正则表达式

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