goland中引用包

Posted zhanghongfeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 ")

}

 

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 est.go:2:8: cannot find package "calc" in any of:

D:Gosrccalc (from $GOROOT)

D:MyGosrccalc (from $GOPATH)

因为自定义包,程序会自动从GOROOT和GOPATH下的src文件夹去寻找。如果工程不是建在GOPATH目录下的。那么需要在goland中做相应的配置。在project GOPATH中添加工程目录

技术分享图片

或者是在GOPATH系统变量中增加对应的工程路径

 

以上是关于goland中引用包的主要内容,如果未能解决你的问题,请参考以下文章

Goland环境下同一个package下出现undefined

goland无法解析go mod问题解决

Goland的使用

如何在GoLand中运行整个项目?

Goland下cannot resolve directory

Goland IDE 安装终解