今天遇到个奇葩的bug。
我的工程项目是demo1,里面有3个文件,分别是main.go、Block.go、BlockChain.go,这哥仨同属main包。
其中,BlockChain.go 中,定义了一个函数 NewBlockChain(),然后我在 main.go 文件的 main 函数中,调用这个NewBlockChain() 函数。那么,问题来了。当我在 Goland 中运行 main.go 文件的时候,报错: undefined: NewBlockChain,what?黑人问号脸。
同个package中,不同的 .go 文件,它们之间函数应该是可以相互调用的才对,(main函数除外),那为什么会报错?
查了查资料,这是由于BlockChain.go 文件未被编译导致的。这就怪了,运行 main.go 文件的时候,Goland 不应该自动把 main.go 文件中,所使用到的BlockChain.go ,也给编译了么?
百思不得其解,暂且归根于Goland 出bug了。
下面讲讲遇到这种情况怎么破?使用命令行。
1、打开命令行工具: 1.png2、先使用 pwd 命令,查看当前工作路径;
3、再使用 ls 命令,查看当前工作路径下的文件;
网友评论