我看过很多关于 Go Arrays 与 Javascript 一起使用的文章,但我正在尝试做一些不同的事情。我想使用 Go 读取配置文件,因为它可以访问服务器端,并在将使用模板呈现的 javascript 函数中使用它。这是为了避免在 JavaScript 中硬编码值:我想改变这个:javaString += "function isValidPrefix() {"javaString += "forbidden_prefixes = [ \"1\", \"2\", \"3\", \"4\", \"5\", \"6\" ];"... more javascript ...javaString += "}"将前缀放在文件中的东西,这样我每次想添加前缀时都不必重新编译。所以我尝试了这个:var configArr []stringconfigArr = LoadFile("/conf.dat")javaString += "forbidden_prefixes = [];" for _, eachline := range configArr { javaString += "forbidden_prefixes.push(\" + eachline + \");" fmt.Println(eachline)}eachLine在 for 循环中正确打印,但禁止前缀包含一个元素+ eachLine +,我认为这是一个语法错误,但即使我尝试检索 DOM 元素的值来检查它,Web 控制台也会说该元素不存在。硬编码值一切正常。我做错了什么还是根本不可能?
2 回答
大话西游666
TA贡献1817条经验 获得超14个赞
您正在使用文字构建字符串,而不使用您打算使用的变量。尝试这个:
javaString += fmt.Sprintf("forbidden_prefixes.push(\"%s\");",eachline)
至尊宝的传说
TA贡献1789条经验 获得超10个赞
问题确实来自您的语法。您转义了引号,因此+运算符实际上是字符串的一部分。以下是两种可能的解决方案:
javaString += "forbidden_prefixes.push(\"" + eachline + "\");"
或者
javaString += fmt.Sprintf("forbidden_prefixes.push(%q);", eachline)%q在它被替换的值周围添加引号。
- 2 回答
- 0 关注
- 140 浏览
添加回答
举报
0/150
提交
取消
