IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天编程网给大家整理了《使用Golang自调用函数》,聊聊,我们一起来看看吧!
问题内容无法轻松找到有关如何在 golang 中创建自调用函数的信息。
我的最终目标是从文件中导出地图,如下所示:
type Foo struct {}
type Bar struct {}
var TypeMap map[interface{}]string;
func selfInvoking(){
TypeMap = map[interface{}]string{
Foo: "foo",
Bar: "bar"
}
}()
如何从 go 中的文件导出这样的填充地图?基本上是一次性配置。
使用上面的模式,我会得到
“未使用的变量 typemap”。
解决方案
go
中有3种方式执行初始化代码:
- Constants
- Variables
- The init function
根据您的情况,您可以使用最后两个。
变量:
var typemap = map[interface{}]string{
foo{}: "foo",
bar{}: "bar",
}
初始化函数:
var typemap map[interface{}]string
func init(){
typemap = map[interface{}]string{
foo: "foo",
bar: "bar",
}
}
在任何情况下都要小心初始化器,不要将它们用于任何复杂或 io
代码。
初始化程序不太适合单元测试和错误处理/日志记录。
不确定您想要实现什么,但这至少可以编译
import (
"fmt"
)
type Foo struct {}
type Bar struct {}
var TypeMap map[interface{}]string;
func selfInvoking(){
TypeMap = map[interface{}]string{
Foo{}: "foo",
Bar{}: "bar",
}
}
func main() {
selfInvoking()
fmt.Println(TypeMap)
}
到这里,我们也就讲完了《使用Golang自调用函数》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注编程网公众号,带你了解更多关于的知识点!