为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Go 读取文件以用于 javascript 渲染

使用 Go 读取文件以用于 javascript 渲染

Go
喵喵时光机 2022-06-01 16:47:25
我看过很多关于 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)


查看完整回答
反对 回复 2022-06-01
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

问题确实来自您的语法。您转义了引号,因此+运算符实际上是字符串的一部分。以下是两种可能的解决方案:

javaString += "forbidden_prefixes.push(\"" + eachline + "\");"

或者

javaString += fmt.Sprintf("forbidden_prefixes.push(%q);", eachline)

%q在它被替换的值周围添加引号。


查看完整回答
反对 回复 2022-06-01
  • 2 回答
  • 0 关注
  • 140 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号