首先在工程目录下新建三个目录: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. [Tools] Deploy a Monorepo to Now V2

    Now by Zeit has recently been updated and now supports multi-language monorepos. In this lesson we'l ...

  2. [PWA] Add Push Notifications to a PWA with React in Chrome and on Android

    On Android and in Chrome (but not on iOS), it's possible to send push notifications with a PWA. We'l ...

  3. IO流(一)File类

    1.File类:表示文件和目录路径的抽象的表示形式,可以实现文件的创建,删除,重命名等,是唯一与文件本 有关的操作类. 2.File类的API定义:public class File extends ...

  4. Laravel的本地化

    一.简介 Laravel 的本地化功能提供方便的方法来获取多语言的字符串.语言包存放在 resources/lang 文件夹的文件里.在此文件夹内应该有网站对应支持的语言并将其对应到每一个子目录: / ...

  5. jquery文件上传控件 Uploadify(转)

    原文:http://www.cnblogs.com/mofish/archive/2012/11/30/2796698.html 基于jquery的文件上传控件,支持ajax无刷新上传,多个文件同时上 ...

  6. UINavigationController改变动画效果

    @interface UINavigationController (CustomTransition) - (void) pushWithCustomAnimation:(UIViewControl ...

  7. 一个队列类的实现(比delphi自带的速度快70倍)(线程安全版本)

    unit sfContnrs; interface {$DEFINE MULTI_THREAD_QUEUE} //线程安全版本,如果不需要线程安全,请注释掉此行代码 {$IFDEF MULTI_THR ...

  8. Android基础之使用Fragment控制切换多个页面

    Android官方已经提供了Fragment的各种使用的Demo例子,在我们SDK下面的API Demo里面就包含了Fragment的各种使用例子,需要看Demo的朋友,直接看API Demo那个程序 ...

  9. 关于javaSocket中 Software caused connection abort: recv failed问题

    在学习Socket中今天突然遇到了以下这种问题 原来是网路连接出了问题,由于我測试的是远程连接所以是在学校的局域网下,结果非常不稳定,開始还以为怎么了一会连上了一会又出现故障然后把IP地址改为本机的1 ...

  10. intelligent_cam

    https://github.com/shengkaisun/intelligent_cam/tree/772fe0e4d315f83ba01134389c6b618b1ce40aaf intelli ...