golang中的单引号转义问题

目录
  • golang的单引号转义
  • go语言中的单引号、双引号和反引号
    • 1.单引号
    • 2.双引号
    • 3.反引号
  • 总结

golang的单引号转义

如题,golang中有时候需要将一个字符串中的单引号再转义一次,比如在两个单引号之间包含一个含有单引号的字符串的情形。

但是这个转义却不像C语言里的那样,比如这样写:info = strings.Replace(info, "\'", "\\\'", -1)

就报unknown escape sequence错误。

正确的写法是:

info = strings.Replace(info, "'", "\\'", -1)

我想这里应该是:在两个双引号之间不需要使用\'来表示单引号。

go语言中的单引号、双引号和反引号

1.单引号

单引号在go语言中表示golang中的rune(int32)类型,单引号里面是单个字符,对应的值为改字符的ASCII值。

func main() {
    a := 'A'
    fmt.Println(a)
}

输出:

random@random-wz MINGW64 /c/GOPATH/src/Test
$ go run main.go
65

2.双引号

在go语言中双引号里面可以是单个字符也可以是字符串,双引号里面可以有转义字符,如\n、\r等,对应go语言中的string类型。

func main() {
    a := "Hello golang\nI am random_wz."
    fmt.Println(a)
}

输出:

random@random-wz MINGW64 /c/GOPATH/src/Test
$ go run main.go
Hello golang
I am random_wz.

3.反引号

反引号中的字符表示其原生的意思,在单引号中的内容可以是多行内容,不支持转义。

func main() {
    a := `Hello golang\n:
I am random_wz.
Good.`
    fmt.Println(a)
}

输出:

random@random-wz MINGW64 /c/GOPATH/src/Test
$ go run main.go
Hello golang\n:
I am random_wz.
Good.

可以看到\n并没有被转义,而是被直接作为字符串输出。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • golang fmt占位符的使用详解

    golang fmt格式"占位符" golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf. 定义示例类型和变量 type Human struct { Name string } var people = Human{Name:"zhangsan"} 普通占位符 占位符 说明 举例 输出 %v 相应值的默认格式. Printf("%v", people) {zhangsan}, %+v 打印结构体时,会添加字

  • golang 格式化输入输出操作

    格式化字符串由占位符和普通字符组合而成. 占位符由'%'打头,动词结尾. 占位符由五类元素组成: 标志位(flag),宽度,精度,参数索引,以及动词. 除了最后的动词之外,其他元素均可省略. 看下面的常用类型的例子描述: 缺省格式和类型 Value: []int64{0, 1} 格式化后的效果 动词 描述 [0 1] %v 缺省格式 []int64{0, 1} %#v go语法打印 []int64 %T 类型打印 整型(缩进, 进制类型, 正负符号) Value: 15 格式化后的效果 动词 描

  • 解决Golang json序列化字符串时多了\的情况

    我们在对外提供API接口,返回响应的时候,很多时候需要使用如下的数据结构 type Response struct { Code int `json:"code"` Msg string `json:"msg"` Data interface{} `json:"data"` } 该API接口返回一个状体码,状态信息,以及具体的值.但是具体的值可能根据各个接口的不同而不同. 在实际的开发过程中我们可能会得到一个实际的数据值,并将这个值赋值给data

  • golang中的单引号转义问题

    目录 golang的单引号转义 go语言中的单引号.双引号和反引号 1.单引号 2.双引号 3.反引号 总结 golang的单引号转义 如题,golang中有时候需要将一个字符串中的单引号再转义一次,比如在两个单引号之间包含一个含有单引号的字符串的情形. 但是这个转义却不像C语言里的那样,比如这样写:info = strings.Replace(info, "\'", "\\\'", -1) 就报unknown escape sequence错误. 正确的写法是:

  • php中的单引号、双引号和转义字符详解

    PHP单引号及双引号均可以修饰字符串类型的数据,如果修饰的字符串中含有变量(例$name):最大的区别是: 双引号会替换变量的值,而单引号会把它当做字符串输出. 例如: <?php $name="string"; echo " 字符串" . '$name'; echo "字符串" . "$name"; ?> 结果: 字符串$name 字符串string 转义字符,顾名思义会将规定的语法用"\"来

  • python中的单引号双引号区别知识点总结

    python中的单引号双引号有什么区别呢?下面给大家详细的介绍一下: 先说双引号与三引号的区别,双引号所表示的字符串通常要写成一行. 如: s1 = "hello,world" 如果要写成多行,那么就要使用\ ("连行符")吧,如: s2 = "hello,\ world" s2与s1是一样的.如果你用3个双引号的话,就可以直接写了,如下: s3 = """hello, world, hahaha."&qu

  • 替换php字符串中的单引号为双引号的方法

    实例如下: $param = "{'id':'12', 'name':'hi'}"; $new = preg_replace('/\"/', '"', $param); 以上这篇替换php字符串中的单引号为双引号的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • php jsonp单引号转义

    php中jsonp输出时一般用下面的格式: 复制代码 代码如下: callbackname('json string'); 如果中间的json string中含有单引号,这个输出就是有问题的,调用方一般是无法处理的,所以我们要对单引号进行转义. 如果是用json_encode方式生成可以用下面的方式转义: 复制代码 代码如下: $ret = json_encode($result, JSON_HEX_APOS); header('Content-Type: text/javascript; ch

  • javascript 复杂的嵌套环境中输出单引号和双引号

    <a href="javascript:alert('这里有2个单引号一个双引号"\'\' :)');" >引号的嵌套</a> 单引号 ' 的 ASCII码是 39 双引号 " 的 ASCII码是34,所以我们可以用&#xxx;的形式来代替具体的符号.虽然变成了&#xxx;的形式,但是在嵌套环境中仍然要很当心.这里代码里的alert()使用的引号是单引号,alert里的字符串应该转义掉单引号.于是就有了 \'的形式.反之,就要

  • Js参数值中含有单引号或双引号问题的解决方法

    <script type="text/javascript">function Display(LoginEmail, UserName, ID) {        alert(LoginEmail);    }</script> 1.使用单引号传参:<a href="javascript:Display('abc@abc.com','Aleax Xie','10101239393')">Test1</a> 如果其中一

  • 浅析Js中的单引号与双引号问题

    单引号和双引号其实没啥区别,看你自己习惯了 <input type="button" onclick="alert("1")">-------------------不正确<input type="button" onclick="alert('1')">-------------------正确 双引号中再用双引号要这样:var str = "abc\"def\

  • PostgreSQL 中的单引号与双引号用法说明

    在pg中的sql,单引号用来标识实际的值,双引号用来标识表名(table name)或列名(column name)等数据库中存在的值. 如,执行一句query: select "name" from "students" where "id"='1' 加上引号的好处在于,当在程序中进行sql拼装的时候,可以简化对值的校验,同时又可以避免sql注入.即在数据库层面完成了事故的避免. 如,同样执行的query: select ";drop

  • JavaScript中的单引号和双引号报错的解决方法

    在使用JavaScript显示消息或者传递字符数据的时候,经常会碰到数据中夹杂单引号(')或者双引号("),这种语句往往会造成JavaScript报错.对此一般采用/'或者/"的解决. 例如: Alert("this is test "message"!"); Alert('this is test 'message'!'); 一般会改成以下语句 Alert("this is test /"message/"!&qu

随机推荐