dongnuo3749 2019-01-17 16:59
浏览 430
已采纳

类型“ string”和“ func()string”之间有什么区别?

I am very new to programming in general let alone Go... currently I have been experimenting serving some content via HTTP, and [for reasons] I have a string that I want to store in a separate package, and serve it back to my main project via a function call. however I am getting an error (in various forms depending on how I change the code up):

"mismatched types string and func() string"

here is the 'data' package

package encodedjs
var base64EncodedJS string
func ReadEncodedJS() string {
 return base64EncodedJS
}
func init() {
 base64EncodedJS = "data:text/javascript;base64,largestring_blah_blah_blah=="
}

...then the main code calling it

package main
import ( 
 "./encodedjs" 
)
func main() {
 js := "some text to simply show one way I've tried" + encodedjs.ReadEncodedJS
}
  • 写回答

3条回答 默认 最新

  • dp20011 2019-01-17 17:04
    关注

    The encodedjs.ReadEncodedJS qualified identifier just denotes the function, if used as-is, it is just a function value (e.g. can be assigned to variables of the same function type).

    If you want to call it and use its return value, use parentheses, e.g. encodedjs.ReadEncodedJS(). This is detailed in Spec: Calls.

    Since you want to concatenate string values, you have to call it:

    js := "some text to simply show one way I've tried" + encodedjs.ReadEncodedJS()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 msix packaging tool打包问题
  • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线