Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在golang中向字符串变量添加变量_Go_Revel - Fatal编程技术网

如何在golang中向字符串变量添加变量

如何在golang中向字符串变量添加变量,go,revel,Go,Revel,我试图在golang中向变量字符串添加一个值,而不使用printf,因为我使用的是revel framework,这是用于web环境而不是控制台,如下所示: data := 14 response := `Variable string content` 所以我不能在变量响应中获取变量数据,就像这样 response := `Variable string 14 content` 有什么想法吗?为什么不使用 如果希望将字符串保留在变量中而不是打印出来,请尝试以下操作: data := 14

我试图在golang中向变量字符串添加一个值,而不使用printf,因为我使用的是revel framework,这是用于web环境而不是控制台,如下所示:

data := 14
response := `Variable string content`
所以我不能在变量响应中获取变量数据,就像这样

response := `Variable string 14 content`
有什么想法吗?

为什么不使用


如果希望将字符串保留在变量中而不是打印出来,请尝试以下操作:

data := 14
response := "Variable string" + data + "content"

我相信,公认的答案已经是最佳做法。我想根据@Ari Pratomo答案给出一个备选方案:

package main

import (
    "fmt"
    "strconv"
)

func main() {
    data := 14
    response := "Variable string " + strconv.Itoa(data) + " content"
    fmt.Println(response) //Output: Variable string 14 content
}

它使用
strconv.Itoa()
将整数转换为字符串,这样就可以将它与其余字符串连接起来


演示:

您也可以使用
操作系统。展开

package main

import (
   "fmt"
   "os"
)

func main() {
   data := 14
   response := "Variable string $data content"
   response = os.Expand(response, func(s string) string {
      switch s {
      case "data": return fmt.Sprint(data)
      default: return ""
      }
   })
   println(response == "Variable string 14 content")
}

数据
是一个
整数
,您不能用这种方式直接插入
字符串
。否则将出现以下错误:
无效操作:“变量字符串”+数据(字符串和int类型不匹配)
package main

import (
   "fmt"
   "os"
)

func main() {
   data := 14
   response := "Variable string $data content"
   response = os.Expand(response, func(s string) string {
      switch s {
      case "data": return fmt.Sprint(data)
      default: return ""
      }
   })
   println(response == "Variable string 14 content")
}