为什么我的client.go无法访问math.go? 为什么在client.go中找不到我的math.go文件 package main是client.go的正确包吗?如果我做了package barit投诉

为什么我的client.go无法访问math.go? 为什么在client.go中找不到我的math.go文件 package main是client.go的正确包吗?如果我做了package barit投诉,go,Go,您要导入../foo,而不是导入../foo/math,因为您正在导入文件夹或包。没有名为math的文件夹 如果导入../foo,则可以使用该文件夹中所有文件的导出功能 至于问题的第二部分,如果要生成可执行文件,则需要有一个包main,通常我将主go文件保存在根目录中,而不是文件夹中。如果您只是制作一个库而不是main,则包名是文件夹(包)的名称,与通常一样 如果有很多文件夹,如果主功能位于名为bar的文件夹中,则没有人能够找到它。不要使用相对导入。根据上的文档设置您的工作区。该链接很有帮助!这


您要导入../foo,而不是导入../foo/math,因为您正在导入文件夹或包。没有名为math的文件夹

如果导入../foo,则可以使用该文件夹中所有文件的导出功能

至于问题的第二部分,如果要生成可执行文件,则需要有一个包main,通常我将主go文件保存在根目录中,而不是文件夹中。如果您只是制作一个库而不是main,则包名是文件夹(包)的名称,与通常一样


如果有很多文件夹,如果主功能位于名为bar的文件夹中,则没有人能够找到它。

不要使用相对导入。根据上的文档设置您的工作区。该链接很有帮助!这只是一个临时解决方案,因为您不能在GOPATH内使用相对导入路径。只有在生成可执行文件时,才需要一个主包。如果你只是发布一个图书馆,你不需要一个包主。“阿德里安,这是真的,我不认为他可能是一个图书馆。我会相应地更新我的答案。