1

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

import "package1"

import ("package1";"package2")

import (
        "package1"
        "package2"
       )

“导入”语法是专门为导入包而设计的吗?它看起来像一个使用“;”的函数调用 而不是“,”用于参数化。似乎它甚至可能是一个 ruby​​ 风格的方法调用(即:sans "()")

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

4

1 回答 1

2

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

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

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

于 2013-11-04T21:48:28.463 回答