当在`main.go`文件中导入另一个文件时,两个文件的Golang程序无法运行。

huangapple go评论82阅读模式
英文:

golang program in two file not run when imported another file in (main.go)

问题

我已经使用两个包名为cube.go和main.go的文件进行了工作。
在main文件中,我导入了cube文件。

但是当我运行main文件时,它没有工作。请帮我解决这个问题。点击这里查看图片

英文:

I have worked with two package named cube.go and main.go file.
in main file I have imported cube file.

but when I run the main file it not worked.please help me to fix this problem. enter image description here

答案1

得分: 1

在同一个目录中的两个文件属于同一个包,所以你不需要导入cube,你的代码应该像这样:

package main

import (
  "fmt"
)

func main() {
  var box Dims  // Dims 在 cube.go 文件中声明在这个包中
  box.SetSize(2,4,6)
  // 其他方法,等等
}

如果你想导入cube,最好将cube.go文件放在另一个名为cube或其他任何名称的目录中,并将包名更改为package cube或者与目录名相同。

同时,你应该移除cube.go文件中的main函数。

英文:

Two files in a directory are in the same package, so you don't need to import cube, you code should be like this:

package main

import (
  "fmt"
)

func main() {
  var box Dims  // Dims declared in this package in cube.go file
  box.SetSize(2,4,6)
  // other methods,etc
}

If you want to import cube, it's better to put cube.go file in another directory called cube or anything else and change the package name to package cube or whatever the directory name is.

And you should remove main function in cube.go file.

huangapple
  • 本文由 发表于 2022年3月5日 12:32:25
  • 转载请务必保留本文链接:https://go.coder-hub.com/71359512.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定