Golang 同一个包下的不同文件的方法调用
想暗算我窗户都没有 · · 14335 次点击 · · 开始浏览这里记录下我踩的坑,感觉有点奇怪,因为之前写python的时候完全不用担心这些!
- 1 下载IDEA- Goland之后,GOROOT设置的是 Go下载的路径,我下载后放在了C盘:C:/Go 而GOPATH的路径就是你项目代码的路径,可以放多个路径,中间用 ; 隔开!
- 2 Goland用go build可执行文件的方式编译好代码,有3种方式运行,从小到大列举: File, Package, Directory 。 File只能运行单独一个文件的代码,而package能把多个文件链接起来运行,Directory是从可以控制从目录名开始运行,层级逐渐升高!
-
3 同一个包下不同文件之间的函数调用,是不需要导包的,直接调用那个函数名就行,函数名被外部调用,必须大写!
下面是结构目录,运行之前在 go build 里设置了以包的方式运行,还有package的输出路径,输出目录----->GoWorks.cn 这个项目名字是在目录结构里更改的. 每一项都不能填错,不然运行会报错。还有就是2个文件里的第一行必须是: package main 不然会报错!
image.png
image.png - 4 设置好了,就右键运行OK,报错一般都是 Go build 设置错误导致,仔细看下
-
5 另外如果要在不同的包package之间调用函数的话,有另外一个方法可以试试,结构目录跟上面一样,在包外建一个sos.go的文件,project 名字为: GoWorks.cn 必须带 .cn 不然会报错!进入settings 设置下Go Modules !
image.png -
6 设置好了以后,在终端输入命令: go mod init GoWorks.cn (项目名)这个时候在目录里会生成一个文件
image.png -
7 接下来直接导包就能调用另一个package下的函数了 ,注意看下 Go build 的设置,以package 的形式运行,package path就输入: GoWorks.cn(项目名). 如果运行报错了,就重新启动下Goland !
image.png - 8 注意这里面有个坑,同一个package下的文件里,不能互相调用,因为现在已经被外部的文件调用了,而且同一个package里的文件里的第一行 package model (写包名) 写其他的会报错,调用同目录下的其他文件的函数也会报错! 虽然这种方式比较麻烦,肯定还有其他简单的方法才对,后面再更新下
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
这里记录下我踩的坑,感觉有点奇怪,因为之前写python的时候完全不用担心这些!
- 1 下载IDEA- Goland之后,GOROOT设置的是 Go下载的路径,我下载后放在了C盘:C:/Go 而GOPATH的路径就是你项目代码的路径,可以放多个路径,中间用 ; 隔开!
- 2 Goland用go build可执行文件的方式编译好代码,有3种方式运行,从小到大列举: File, Package, Directory 。 File只能运行单独一个文件的代码,而package能把多个文件链接起来运行,Directory是从可以控制从目录名开始运行,层级逐渐升高!
-
3 同一个包下不同文件之间的函数调用,是不需要导包的,直接调用那个函数名就行,函数名被外部调用,必须大写!
下面是结构目录,运行之前在 go build 里设置了以包的方式运行,还有package的输出路径,输出目录----->GoWorks.cn 这个项目名字是在目录结构里更改的. 每一项都不能填错,不然运行会报错。还有就是2个文件里的第一行必须是: package main 不然会报错!
image.png
image.png - 4 设置好了,就右键运行OK,报错一般都是 Go build 设置错误导致,仔细看下
-
5 另外如果要在不同的包package之间调用函数的话,有另外一个方法可以试试,结构目录跟上面一样,在包外建一个sos.go的文件,project 名字为: GoWorks.cn 必须带 .cn 不然会报错!进入settings 设置下Go Modules !
image.png -
6 设置好了以后,在终端输入命令: go mod init GoWorks.cn (项目名)这个时候在目录里会生成一个文件
image.png -
7 接下来直接导包就能调用另一个package下的函数了 ,注意看下 Go build 的设置,以package 的形式运行,package path就输入: GoWorks.cn(项目名). 如果运行报错了,就重新启动下Goland !
image.png - 8 注意这里面有个坑,同一个package下的文件里,不能互相调用,因为现在已经被外部的文件调用了,而且同一个package里的文件里的第一行 package model (写包名) 写其他的会报错,调用同目录下的其他文件的函数也会报错! 虽然这种方式比较麻烦,肯定还有其他简单的方法才对,后面再更新下