首先在工程目录下新建三个目录: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系统变量中增加对应的工程路径

goland中引用包的更多相关文章

  1. Android项目实战(二十四):项目包成jar文件,并且将工程中引用的jar一起打入新的jar文件中

    前言: 关于.jar文件: 平时我们Android项目开发中经常会用到第三方的.jar文件. 其实.jar文件就是一个类似.zip文件的压缩包,里面包含了一些源代码,注意的是.jar不包含资源文件(r ...

  2. Xamarin Android中引用Jar包的方法

    新建一个Java Bingdings Library 将Jar包复制,或使用添加已存在的文件,到Jars文件夹中 确认属性中的“生成操作” 如果有类型转换不正确,请修改Transforms文件夹中的相 ...

  3. .Net Core 项目中的包引用探索(使用VSCode)

    本文组织有点乱,先说结论吧: 1 在 project.json 文件中声明包引用. 而不是像以前那样可以直接引用 dll. 2 使用 dotnet restore 命令后,nuget 会把声明的依赖项 ...

  4. Eclipse 将projectBuild Path中引用的jar包自己主动复制到WEB-INF下的lib目录下

    在用用 Eclipse进行Java Web开发时,web应用中引用的jar须要复制到WEB-INF下的lib目录下,否则常常出现ClassNotFound异常. 通过以下方法,能够不用手动拷贝jar包 ...

  5. Android Studio 在项目中引用第三方jar包

    在Android Studio项目中引用第三方jar包的方法: 步骤: 1.在build.gradle文件中添加如下代码: 备注:要添加在Android作用域下 sourceSets { main { ...

  6. Java中带包(创建及引用)的类的编译

    Java中带包(创建及引用)的类的编译与调试 java源程序的编译大家都知道,也就是cmd中到源文件所在目录下javac **.java即可,当程序中有包声明还能简简单单的直接javac **.jav ...

  7. 【Gradle】配置中引用的jar包版本后面自动加冒号导致引入jar包失败的问题/gradle中引用jar包版本不一致的问题/gradle中引用jar失败的问题 解决方法

    idea中 gradle中 引用jar包,版本后面默认加:的问题 gradle中引用jar包版本不一致的问题 gradle中引用jar失败的问题 如上题目所示,三个问题其实都是同一样的简单又恶心,因为 ...

  8. Android gradle用exclude排除引用包中的dependency引用

    项目突然编译不通过,报如下错误 FAILURE: Build failed with an exception.         * What went wrong:    Execution fai ...

  9. 【解决了一个小问题】golang中引用一个路径较长的库,导致goland中出现"module contains a go.mod file, so major version must be compatible: should be v0 or v1, not v2"

    在项目中的go.mod文件中有这样一句: require ( github.com/xxx-devops/xx1/sdk/go v2.2.3 ) 项目的编译没有问题,但是goland中出现如下提示: ...

随机推荐

  1. 用Fiddler或Charles进行mock数据搭建测试环境

    转载:http://blog.csdn.net/qqYJ5/article/details/62216582 应用场景:服务器数据不符合测试条件或者服务器未开发完成时,我们可以通过在本地创建数据来达到 ...

  2. Bounded Context

    From http://martinfowler.com/bliki/BoundedContext.html Bounded Context is a central pattern in Domai ...

  3. php闭包使用例子

    一.依据闭包实现一个容器 class Di { private $factory; public function set($id, $value) { $this->factory[$id] ...

  4. textarea限制字符输入方法

    function check(obj){ var Maxchar=20; if(obj.value.length>Maxchar){ //如果超出 obj.value=obj.value.sub ...

  5. hdu 3667 /2010哈尔滨赛区H题 费用与流量为非线性关系/费用流

    题意: 在一般费用流题目改动:路过某路,每x单位流量须要花费 ai*x^2(ai为给定的系数). 開始的的时候,一看仅仅只是是最后统计费用上在改动罢了,一看例子.发现根本没那么简单(ps:以后每次写程 ...

  6. MySQL 5.6.26几种安装包的差别

    http://downloads.mysql.com/archives/community/ 一.MySQL Installer 5.6.26 mysql-installer-community-5. ...

  7. react-native 封装 VedioPlayer 组件

    1.封装组件 src/components/VideoPlayer/index.js /** * 视频播放器 组件(VideoPlayer) */ import React, {Component} ...

  8. 机房收费系统合作版(二)——初识Git

    研究了一天半的Git.查阅了不少资料,这里将Git的运用分为两条线做个简单梳理:本地控制库.远程控制库. **************************************本地控制库**** ...

  9. zabbix监控第二块网卡是否连通

    配置zabbix客户端配置文件 vim /etc/zabbix/zabbix_agentd.conf 添加  Include=/etc/zabbix/zabbix_agentd.d/ 添加脚本检测网卡 ...

  10. [转] 查看HDFS文件系统数据的三种方法

    1.使用插件——Hadoop-Eclipse-Plugin此方法需要借助Eclipse,插件的安装及使用请参考博文使用Eclipse编译运行MapReduce程序_Hadoop2.6.0_Ubuntu ...