fmt.Println
是否需要始终属于函数?
以前曾经使用过Python,它允许它,但是在研究中,Java似乎没有
fmt.Println("can I do it?")
返回:
语法错误:非解释语句外部功能正文
它可能不在函数之外,请参见此示例:
var n, err = fmt.Println("I can do it")
func main() {
fmt.Println("In main(),", n, err)
}
它输出(在Go Playground上尝试(:
I can do it
In main(), 12 <nil>
(输出值12 <nil>
是第一个fmt.Println()
调用返回的值,它已编写的字节数以及返回的错误 nil
表示没有错误。(
还要注意,您甚至不必存储fmt.Prinln()
的返回值,您可以使用这样的空白标识符:
var _, _ = fmt.Println("I can do it")
它不能独立于顶级"介于"之间。顶级声明,但上述变量声明(带有空白标识符(几乎取得了相同的成就。
规格:源文件组织:
每个源文件都由一个软件包子句组成,该软件包子句定义其所属的软件包,然后是一组空的导入声明集,这些声明声明了其希望使用的内容,然后是一套可能空的函数声明,类型,变量和常数。
SourceFile = PackageClause ";" { ImportDecl ";" } { TopLevelDecl ";" } .
显然,软件包子句或导入声明不能包含fmt.Println()
调用,而最高级别声明:
Declaration = ConstDecl | TypeDecl | VarDecl . TopLevelDecl = Declaration | FunctionDecl | MethodDecl .
常数声明不能包含fmt.Println()
调用,这不是恒定的表达式。类型声明也不能包含函数调用。
可变声明可以,如答案顶部的示例所示。
功能和方法声明也可以调用fmt.Println()
,但是您特别询问fmt.Println()
是否可以在其外部调用。
go始终在主函数中启动执行,因此fmt.println((需要在主函数中或在main中称为函数。