在Golang调用Println时,我不能去掉fmt前缀吗
我试过了 这将生成错误:在Golang调用Println时,我不能去掉fmt前缀吗,go,Go,我试过了 这将生成错误: 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
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")
}
或者使用
作为别名(这可能是您最想要的):
请注意,在这种情况下,别名不是空的。从围棋开始:
限定标识符是使用包名称前缀限定的标识符。包名称和标识符都不能为空
QualifiedIdent=PackageName“.”标识符。
还有一个相同的例子:
如果函数不在当前包中,则必须为其添加前缀 但是,您可以为此包创建别名:
import f "fmt"
func main() {
f.Println("Hello World")
}
或“重命名”该函数:
import "fmt"
var Println = fmt.Println
func main() {
Println("Hello World")
}
或者使用
作为别名(这可能是您最想要的):
请注意,在这种情况下,别名不是空的。从围棋开始:
限定标识符是使用包名称前缀限定的标识符。包名称和标识符都不能为空
QualifiedIdent=PackageName“.”标识符。
还有一个相同的例子:
还有一个:在这种情况下,不能使用“\u”别名
\u
前缀:如果以匿名方式导入包,则无法调用其任何函数。它的唯一目的是间接调用包的init
函数(可能还有其他我没有想到的事情)。我应该注意,给标准库取别名不是一个好的做法。因为只有三个(!)字符,这会降低代码对其他人的可读性。如果要保存手指,请使用自动完成。还有一个:在这种情况下,不能使用“\u”别名\u
前缀:如果以匿名方式导入包,则无法调用其任何函数。它的唯一目的是间接调用包的init
函数(可能还有其他我没有想到的事情)。我应该注意,给标准库取别名不是一个好的做法。因为只有三个(!)字符,这会降低代码对其他人的可读性。如果要保存手指,请使用自动完成。
import "lib/math" math.Sin
import m "lib/math" m.Sin
import . "lib/math" Sin