zoukankan      html  css  js  c++  java
  • go的单引号、双引号、反引号的区别

    Go语言的字符串类型string在本质上就与其他语言的字符串类型不同:

    • Java的String、C++的std::string以及Python3的str类型都只是定宽字符序列

    • Go语言的字符串是一个用UTF-8编码的变宽字符序列,它的每一个字符都用一个或多个字节表示

    即:一个Go语言字符串是一个任意字节的常量序列

    Golang的双引号和反引号都可用于表示一个常量字符串,不同在于:

    • 双引号用来创建可解析的字符串字面量(支持转义,但不能用来引用多行)

    • 反引号用来创建原生的字符串字面量,这些字符串可能由多行组成(不支持任何转义序列),原生的字符串字面量多用于书写多行消息、HTML以及正则表达式

    而单引号则用于表示Golang的一个特殊类型:rune,类似其他语言的byte但又不完全一样,是指:码点字面量(Unicode code point),不做任何转义的原始内容。

    #案例
    #程序中,单引号的a,A是十进制编码,可以进行编码递增,换成双引号就会报错
    
    
    package main
    
    import (
        "fmt"
        "time"
    )
    
    func worker(id int,c chan int){
        for{
            fmt.Printf("worker %d run %c
    ",id,<-c)
        }
    }
    
    func chanDemo(){
        var channels [10]chan int
        for i:=0;i<10;i++{
            channels[i]=make(chan int)
            go worker(i,channels[i])
        }
        for i:=0;i<10;i++{
            channels[i] <- 'a'+i
        }
        for i:=0;i<10;i++{
            channels[i] <- 'A'+i
        }
        time.Sleep(time.Millisecond)
    
    }
    func main() {
        chanDemo()
    }
  • 相关阅读:
    uniapp
    vue -element admin 修改request,headers添加参数
    uniapp
    css
    uniapp
    uniapp
    vue
    vue
    vue -element 修复select下拉框在移动端需要点击两次才能选中的问题
    vue
  • 原文地址:https://www.cnblogs.com/angelyan/p/10991597.html
Copyright © 2011-2022 走看看