- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
fmt.Println
是否需要始终属于一个函数?
以前使用过 Python,它允许,但在研究中,Java 似乎不允许
fmt.Println("can I do it?")
返回:
syntax error: non-declaration statement outside function body
最佳答案
它可能在一个函数之外,看这个例子:
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()
的返回值, 您可以使用 blank identifier像这样:
var _, _ = fmt.Println("I can do it")
它不能在顶级声明“之间”的顶级声明中独立存在,但上面的变量声明(带有空白标识符)几乎可以实现相同的效果。
Spec: Source file organization:
Each source file consists of a package clause defining the package to which it belongs, followed by a possibly empty set of import declarations that declare packages whose contents it wishes to use, followed by a possibly empty set of declarations of functions, types, variables, and constants.
SourceFile = PackageClause ";" { ImportDecl ";" } { TopLevelDecl ";" } .
显然是 package clause或 import declaration不能包含 fmt.Println()
打电话,然后 top level declarations :
Declaration = ConstDecl | TypeDecl | VarDecl .
TopLevelDecl = Declaration | FunctionDecl | MethodDecl .
A constant declaration不能包含 fmt.Println()
打电话,那不是constant expression . type declaration也不能包含函数调用。
变量声明可以,如答案顶部的示例所示。
Function和 method declarations也可以调用fmt.Println()
, 但你是在特别询问 fmt.Println()
可以在它们之外调用。
因此,在顶层允许的函数之外唯一允许的地方是变量声明。
关于go - fmt.Println 是否必须在 Go 中的函数内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56053298/
我都见过,事实上,在观察后我并没有意识到有什么区别。但两者之间真的有什么区别 println(); // without quotation marks 和 println(""); // wi
当运行这个 java 程序时,我希望输出只是第一个 println,因为其他方法,quaffle 和 snitch 只返回整数。但是,该程序的输出还包括 quaffle 和 snitch 方法的 pr
我开始学习 jsp 并且我看到,如果我们想在 jsp 中打印一些东西,我们必须编写 out.println() 而不是 System.out.println() ,但是如果我们编写 System.ou
我刚刚写了这段代码: public class T { public String toString() { System.out.println("new line");
我一直在研究 Swift,刚刚遇到了一个问题。我有以下词典: var locations:Dictionary = ["current":CLLocationCoordinate2D(latitude
我有这个代码: System.err.print("number of terms = "); System.out.println(allTerms.size()); System.err
我一直在研究 Swift,刚刚遇到了一个问题。我有以下词典: var locations:Dictionary = ["current":CLLocationCoordinate2D(latitude
我无法解释竞争检测器中 println 和 fmt.Println 的不同输出。我希望两者都是种族,或者至少两者都不是种族。 package main var a int func f() {
我一直以为Predef.println只是 System.out.println 的快捷方式,但显然我错了,因为它似乎没有使用 System.out根本不。为什么会这样?我该如何“重定向” Syste
我有一个字符串数组: val str:Array[String] = Array("aa","bb") scala> str.foreach(println) // works aa bb scala
这个问题已经有答案了: Move console cursor to specified position (4 个回答) 已关闭 7 年前。 我正在使用简单的 println 行在 java 上工作
这是我现在正在做的一个简单测试用例的代码: private static final ByteArrayOutputStream OUTCONTENT = new ByteArrayOutputStr
public static void algorithmOne(int n){ long startTime = System.currentTimeMillis(); sea
我有以下代码: @Test public void testMultipleUpdatesSameTime() { final CyclicBarrier gate = new Cyc
我正在尝试创建一个可打印的命令提示板,以便在 CMD 中创建一个 TicTacToe 游戏。虽然,当我为我的董事会和我的单元格创建类(class)时,Java 在我的 print 和 println
我有 char c1 = 'S'; // S as a character char c2 = '\u0068'; // h in Unicode char c3 = 0
这是我的代码(golang) func main() { names := []string{"1", "2", "3"} for index, name := range names
来自 log.go (日志包的实现): 167 // Println calls l.Output to print to the logger. 168 // Arguments are handl
为什么我需要使用 System.out.println而不是 println当我使用 GroovyInterceptable ? 例如,如果我在 Groovy 文件中编码,我可以通过键入以下内容打印到
当我编写计算器应用程序时,我只是想不出最好的方法是什么: private void calculate(String command) { System.out.print("value1:
我是一名优秀的程序员,十分优秀!