目录

Golang的单引号和双引号

概述

经常使用 Go 来写代码,以前总感觉单引号和双引号都可以用来表示字符串,那么实际上又是否有差异呢?本文针对 Go 的单双引号,简单总结一下。

实例

先看看下面的例子,假设 s 是 string 类型,现在要遍历这个 string 的每个字符。很明显,在 Goland 写的时候已经报错了,因为 v 是 int32 类型,因此,v 可以跟 ‘[’ 或者 ‘{’ 这样的用单引号的表达式判等,但是绝对不能和 “(” 这样的字符串 string 类型判等,也间接说明了单引号和双引号是不一样的类型。

/golang%E7%9A%84%E5%8D%95%E5%BC%95%E5%8F%B7%E5%92%8C%E5%8F%8C%E5%BC%95%E5%8F%B7/img.png

解释

就如同上述例子,简单的总结就是,双引号才是表达真正的字符串,而单引号则不是,单引号可以表达成 byte 或 rune 类型,单个字符的时候默认的类型是 rune,当然也可以强制指定 byte。

参考资料

  1. Double, Single and Back quotes in Go (Golang)
警告
本文最后更新于 2022年9月11日,文中内容可能已过时,请谨慎参考。