我尝试了http://tour.golang.org/#1
package main import "fmt" func main() { Println("Hello World") }
这会产生错误:
prog.go:3: imported and not used: "fmt" prog.go:6: undefined: Println [process exited with non-zero status] Program exited
这是否意味着我必须为Println加上“ fmt”软件包名称前缀?在其他语言中,这不是强制性的。
如果该函数不在当前程序包中,则必须为其添加前缀。
但是,您可以为此包创建一个别名:
import f "fmt" func main() { f.Println("Hello World") }
或 “重命名” 功能:
import "fmt" var Println = fmt.Println func main() { Println("Hello World") }
或.用作别名(可能是您最想要的):
.
import . "fmt" func main() { Println("Hello World") }
请注意,在这种情况下,别名不是空白。根据Go 的规格:
合格标识符是具有包名前缀的合格标识符。软件包名称和标识符都不能为空。 QualifiedIdent = PackageName "." identifier .
合格标识符是具有包名前缀的合格标识符。软件包名称和标识符都不能为空。
QualifiedIdent = PackageName "." identifier .
另一个来自相同规格的示例:
import "lib/math" math.Sin import m "lib/math" m.Sin import . "lib/math" Sin