Go "import" 语法是否特殊且独特?



http://golang.org/ref/spec#Import_declarations

import "package1"
import ("package1";"package2")
import (
        "package1"
        "package2"
       )

"导入"语法是专门为导入包而设计的吗?它看起来像一个函数调用,使用";"而不是","进行参数化。似乎它甚至可能是一个红宝石式的方法调用(即:没有"()")

附言以为我会问这个以获得一些观点。我真的很喜欢使用 Go,但它的一些语法似乎有点不一致,有时甚至很冗长。让我想知道为它创建一个预处理器有多难,就像 C++ 是/曾经是 C 来清理一些语法。称之为Go++(走得更快)。我认为Objective C 2.0是改进程序员工作流程(例如:字典/数组/数字文字)的一个很好的例子。Go++在概念上也类似于 exlixir-lang.org(Erlang之上的语法增强)。

是的,import很特别。它必须位于文件的顶部,并且其参数始终是文字。这必须发生,因为 go 在尝试管理依赖项以加快构建时间方面做了很多工作。

它也不能只是一个常规环境,因为它将变量注入到当前范围内,这是其他函数无法做到的。

至于语法,是的,有些部分并不完全令人愉快。但对于我和我遇到的大多数写 Go 的人来说,这是一个很小的问题。从好的方面来说,语法很容易解析,所以工具相对简单,这就是为什么我担心只是为了几个击键而改变语法。

最新更新