猿问

开始时遇到困难。`package main` 抛出运行时错误 - 索引超出范围?

我是一个完整的初学者。而我刚刚安装了gophernotes,打算主要使用Jupyter Notebook进行编程。


该程序在 Jupyter 中运行时出现以下错误:


Cell1: package main

Out1: runtime error: index out of range

Cell2: import "fmt"

      func main() {

          fmt.Println("hello world")

      }

      main()

Out2: hello world

当我在 a 中编写相同内容test.go并从 bash: 执行时go run test.go,我得到以下信息:


Deepaks-MacBook-Air:JUPYTER deepak$ go run test.go 

go: disabling cache (/Users/deepak/Library/Caches/go-build) due to initialization failure: open /Users/deepak/Library/Caches/go-build/log.txt: permission denied

# command-line-arguments

./test.go:6:1: syntax error: non-declaration statement outside function body


撒科打诨
浏览 103回答 1
1回答

holdtom

我认为拥有“package main”是一个问题。Go 与 Jupyter 一起工作的方式显然不同于 Go 单独工作的方式。你不需要 Jupyter 的包声明。你也不应该打电话给main(). go run当您使用或运行程序时,这是自动完成的go build。我不熟悉 Jupyter Notebook 以及它如何使用 Go。也许您确实需要调用该函数。如果是这种情况,请不要命名您的函数,main因为这只会让人感到困惑。从我所看到的 Jupyter/Go 示例来看,您不需要 Go 函数,您只需列出代码即可。
随时随地看视频慕课网APP

相关分类

Go
我要回答