前端面试题库

单引号,双引号,反引号的区别

单引号双引号反引号更新时间:2024-09-07 07:15:27

答案

  • 单引号:表示byte类型或rune类型,对应 uint8和int32类型,默认是 rune 类型。byte用来强调数据是raw data,而不是数字;而rune用来表示Unicode的code point
  • 双引号: 才是字符串,实际上是字符数组。可以用索引号访问某字节,也可以用len()函数来获取字符串所占的字节长度。支持转义,不能用来引用多行。
  • 反引号:表示字符串字面量,但不支持任何转义序列。字面量 raw literal string 的意思是,你定义时写的啥样,它就啥样,你有换行,它就换行。你写转义字符,它也就展示转义字符。
package main import ( "log" ) const ( // 单引号 singleQuote string = "\nmain {\nconsole.log(event)\nreturn ret\n};\n" // 双引号 doubleQuote string = "\nmain {\nconsole.log(event)\nreturn ret\n};\n" // 反引号 backQuote string = ` main { console.log(event) }; ` ) func main() { log.Printf("singleQuote:%s\n", singleQuote) log.Printf("doubleQuote:%v\n", doubleQuote) log.Printf("backQuote:%s\n", backQuote) }

结果:

singleQuote: main { console.log(event) return ret }; doubleQuote: main { console.log(event) return ret }; backQuote: main { console.log(event) };

评论