goland中引用包
首先在工程目录下新建三个目录:bin, pkg,src
Bin文件夹是放置编译后的exe文件
Pkg文件夹是放置包生成后的.a文件
Src文件夹是放置包文件的地方
工程组织目录如下,在src中有test.go。以及add.go在calc文件夹下
代码如下:
add.go
package calc //注意和文件夹目录名一致
func Add(a int, b int)(int){ //注意函数名第一个字母大写,否则识别不了包
return a+b
}
test.go
package main
import "calc" //和test.go位于同一层级下,可以不用import
func test(){
print("hello world again\n")
}
func main(){
var ret int
test()
ret=calc.Add(3,4) //引用包中的函数
println("hello world")
println(ret)
}
执行完后可以看到在bin和pkg文件夹下面都生成了对应的文件
在src下也可以是多级目录,比如如下图
在test.go中引用如下
import (
"func/calc" //根据目录路径引用,默认是从src文件夹下面
"cal"
)
如果是出现如下的错误。那么就需要再goland中做相应的设置
src\test.go:2:8: cannot find package "calc" in any of:
D:\Go\src\calc (from $GOROOT)
D:\MyGo\src\calc (from $GOPATH)
因为自定义包,程序会自动从GOROOT和GOPATH下的src文件夹去寻找。如果工程不是建在GOPATH目录下的。那么需要在goland中做相应的配置。在project GOPATH中添加工程目录
或者是在GOPATH系统变量中增加对应的工程路径
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架