Go 是否提供内置的 REPL 用于调试和测试代码?
你好!我是 Go 新手(从 Python 转过来),习惯了在交互式 shell(REPL)中快速测试小段代码。在 Python 中,我只需在终端输入 `python` 就可以立即执行表达式,例如:
```python
>>> a = [1, 2, 3]
>>> sum(a)
6
```
在 Go 中,我尝试在控制台运行 `go`,但只得到了命令列表。我也尝试写一个单行程序,但 Go 要求完整的结构,包括 `package main` 和 `func main()`。例如,要测试一个 slice,我不得不创建文件 `test.go`:
```go
package main
import "fmt"
func main() {
nums := []int{1, 2, 3}
fmt.Println(nums[1:])
}
```
然后通过 `go run test.go` 编译和运行。这很耗时,尤其是当需要快速检查函数行为或语法时。
我听说 Go 没有官方的 REPL,但看到过像 `gore` 这样的第三方工具。请问有没有办法组织 Go 的交互式工作?也许