下面关于语句的描述哪个是正确的?
- 一个语句指示 Go 执行某些操作 正确
- 一个语句产生一个值
- 一个语句无法改变执行流
2: 一个语句不能产生一个值,但它可以间接的帮助产生一个值
3: 不,它可以
下面关于 Go 代码的执行顺序哪个是正确的?
- 从左到右
- 从上到下 正确
- 从右到左
- 从下到上
2: 是的,Go 的执行顺序是从上到下,一次一个语句
下面关于表达式的描述哪个是正确的?
- 表达式指示 Go 执行某些操作
- 一个表达式产生一个值 正确
- 表达式可以改变执行流
1: 不,语句可以
3: 不,只有语句可以
下面关于运算符的描述哪个是正确的?
- 运算符指示 Go 执行某些操作
- 运算符可以改变执行流
- 运算符可以组合表达式 正确
1: 不,语句可以
2: 不,只有语句可以
下面的程序为什么不起作用?
package main
import "fmt"
func main() {
"Hello"
}
- "Hello"是一个表达式,它不能没有语句单独在一行 正确
- 去掉 “Hello” 的双引号,像这样: Hello
- 将 "Hello" 移到 main 函数外面
下面的程序可以运行吗?
package main
import (
"fmt"
"runtime"
)
func main() {
fmt.Println(runtime.NumCPU()); fmt.Println("cpus"); fmt.Println("the machine")
}
- 可以运行: 可以用分号来分隔表达式
- 不能运行: 只能一行一个语句
- 可以运行: Go 会自动地在每条语句的后面添加分号 正确
1: 它可以运行,但不是这个原因,另外,表达式不能这样做
2: 确定吗?
3: 是的,无论是否有分号,Go 会自动的添加分号. 这些语句还是认为自己在不同的一行中
为什么下面的代码可以运行
package main
import (
"fmt"
"runtime"
)
func main() {
fmt.Println(runtime.NumCPU() + 10)
}
- 运算符可以组合表达式 正确
- 语句可以和表达式一起使用
- 表达式可以返回多值
1: 是的, + 运算可以组合
runtime.NumCPU()和10表达式2: 不对,不可以组合使用。例如,不能这样做:
import "fmt" + 3. 一些语句需要表达式,但这不意味着语句和表达式可以组合使用3: 对的,但不能解释上面代码为什么可以运行