猿问

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

总的来说,我对编程还很陌生,更不用说 Go 了……目前我一直在尝试通过 HTTP 提供一些内容,并且 [出于某些原因] 我有一个字符串,我想将其存储在一个单独的包中,并将其返回给我通过函数调用的主项目。但是我收到一个错误(以各种形式取决于我如何更改代码):


“不匹配的类型字符串和 func() 字符串”


这是“数据”包


package encodedjs

var base64EncodedJS string

func ReadEncodedJS() string {

 return base64EncodedJS

}

func init() {

 base64EncodedJS = "data:text/javascript;base64,largestring_blah_blah_blah=="

}

...然后调用它的主要代码


package main

import ( 

 "./encodedjs" 

)

func main() {

 js := "some text to simply show one way I've tried" + encodedjs.ReadEncodedJS

}


尚方宝剑之说
浏览 109回答 1
1回答

MM们

encodedjs.ReadEncodedJS 限定标识符仅表示函数,如果按原样使用,它只是一个函数值(例如,可以分配给相同函数类型的变量)。如果你想调用它并使用它的返回值,请使用括号,例如encodedjs.ReadEncodedJS(). 这在Spec: Calls中有详细说明。由于要连接string值,因此必须调用它:js := "some text to simply show one way I've tried" + encodedjs.ReadEncodedJS()
随时随地看视频慕课网APP

相关分类

Go
我要回答