对于一个Golang开发者来说,牢固扎实的基础是十分重要的,编程网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《Golang:环境映射代码中的奇特语法》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!
问题内容我偶然发现了这段代码,其中的两个变量和函数声明看起来很奇怪:
getenvironment := func(data []string, getkeyval func(item string) (key, val string)) map[string]string {...}
environment := getenvironment(os.Environ(), func(item string) (key, val string) {
我理解代码的一般用途,但是这两行让我感到害怕。这样写也可以吗?这些未命名的 (func(item string)
) 和空 (getkeyval
) 函数如何工作?
正确答案
getenvironment
是一个函数变量,它是一个采用 []string
的函数,以及另一个函数 getkeyval
。 getkeyval
函数预期获取 string
项,并返回 key,val
字符串值。 getenvironment
函数返回一个地图。
第二个代码片段调用该函数,为 getkeyval
传递一个匿名函数。
好了,本文到此结束,带大家了解了《Golang:环境映射代码中的奇特语法》,希望本文对你有所帮助!关注编程网公众号,给大家分享更多Golang知识!