您好,登錄后才能下訂單哦!
今天小編給大家分享一下golang中的單引號(hào)轉(zhuǎn)義問題怎么解決的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
如題,golang中有時(shí)候需要將一個(gè)字符串中的單引號(hào)再轉(zhuǎn)義一次,比如在兩個(gè)單引號(hào)之間包含一個(gè)含有單引號(hào)的字符串的情形。
但是這個(gè)轉(zhuǎn)義卻不像C語言里的那樣,比如這樣寫:info = strings.Replace(info, "\'", "\\\'", -1)
就報(bào)unknown escape sequence錯(cuò)誤。
正確的寫法是:
info = strings.Replace(info, "'", "\\'", -1)
我想這里應(yīng)該是:在兩個(gè)雙引號(hào)之間不需要使用\'來表示單引號(hào)。
單引號(hào)在go語言中表示golang中的rune(int32)類型,單引號(hào)里面是單個(gè)字符,對(duì)應(yīng)的值為改字符的ASCII值。
func main() { a := 'A' fmt.Println(a) }
輸出:
random@random-wz MINGW64 /c/GOPATH/src/Test
$ go run main.go
65
在go語言中雙引號(hào)里面可以是單個(gè)字符也可以是字符串,雙引號(hào)里面可以有轉(zhuǎn)義字符,如\n、\r等,對(duì)應(yīng)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.
反引號(hào)中的字符表示其原生的意思,在單引號(hào)中的內(nèi)容可以是多行內(nèi)容,不支持轉(zhuǎn)義。
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并沒有被轉(zhuǎn)義,而是被直接作為字符串輸出。
以上就是“golang中的單引號(hào)轉(zhuǎn)義問題怎么解決”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。