[英]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)
這個問題實際上是兩個問題:一個是主題,另一個是主題。
`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.