簡體   English   中英

在Golang中做什么

[英]What does ` do in golang

我有一個這樣定義的變量

var selectStatement = `
    SELECT role FROM abc INNER JOIN xyz ON (abc.name = 'Service list')
`

現在,我要執行的操作不是使用硬編碼的“服務列表”,而是要讀取類似

var myvar = "operation"
var selectStatement = `
    SELECT role FROM abc INNER JOIN xyz ON (abc.name = $myvar)
`

我知道如果有"string"而不是`string`這非常簡單。 我該如何實現。 "string"`string`什么`string`

`(在波浪號鍵上)的反勾號用於聲明字符串文字。 這使得它讓你可以有報價和新的生產線和他們從字面上解釋,而不是打破字符串。

為了解決更大的問題,請使用fmt.Sprintf這樣...

var selectStatement = `
    SELECT role FROM abc INNER JOIN xyz ON (abc.name = '%s')
`

selectStatement = fmt.Sprintf(selectStatement, ValueGoingWherePercentSIsNow)

這個問題實際上是兩個問題:一個是主題,另一個是主題。

在GoLang中做什么

`string`是原始字符串字面量。 在原始字符串文字中(在引號內),除反引號外,任何字符都可能出現。 原始字符串文字是未解釋的(隱式為UTF-8編碼)字符。 這意味着反斜杠沒有特殊含義,並且字符串可能包含換行符。

"string"是解釋后的字符串文字。 使用解釋的字符串文字反斜杠轉義符,就像在符文文字中一樣。 盡管轉義序列\\n被解釋為換行符,但它不能包含換行符。

字符串插值

可以使用fmt.Sprintf

func main(){
    myvar := "operation"
    selectStatement := `
        SELECT role FROM abc INNER JOIN xyz ON (abc.name = %s)
    `
    interpolated := fmt.Sprintf(selectStatement, myvar)
}

操場

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM