在GOLAND中设置GOPATH:

设置好路径后,并不是直接在这个路径下面写代码文件就行了

GO会识别GOPATH下的src目录,而真正的引用的包名,是src下的目录名,然后才是代码模块名

目录结构如图:

complicated.go:

package mypack

import "math"

func GetDistance(xa,ya,xb,yb float64) float64 {
dx := xa - xb
dy := ya - yb
return math.Pow((math.Pow(dx,2)+math.Pow(dy,2)),0.5)
}

simple.go

package mypack

func Add(a, b int) (sum int) {
return a + b
} func Sub(a, b int) (different int) {
return a - b
} func Mul(a, b int) (product int) {
return a * b
} func Div(a, b int) (quotient float64) {
quotient = float64(a) / float64(b)
return
}

最终调用脚本:

package main

import (
"fmt"
"mypack"
) func main() {
product := mypack.Mul(3, 4)
fmt.Println(product) distance := mypack.GetDistance(-3, -4, 3, 4)
fmt.Println(distance)
}

调用二级包

目录结构:

complicated.go:

package mysonpack  //这里变成了子包名

import "math"

func GetDistance(xa,ya,xb,yb float64) float64 {
dx := xa - xb
dy := ya - yb
return math.Pow((math.Pow(dx,2)+math.Pow(dy,2)),0.5)
}

  

最终调用脚本:

package main

import (
"compress/zlib" //SDK子包路径
"fmt"
"mypack/mysonpack" //子包路径
) //func main091() {
// product := mypack.Mul(3, 4)
// fmt.Println(product)
//
// distance := mypack.GetDistance(-3, -4, 3, 4)
// fmt.Println(distance)
//} /*使用SDK中的二级包*/
func main092() {
closer, e := zlib.NewReaderDict(nil, nil)
fmt.Println(closer, e)
} /*调用自己的二级包*/
func main() {
distance := mysonpack.GetDistance(-3, -4, 0, 0)
fmt.Println(distance)
}

  

Go语言的GOPATH详解的更多相关文章

  1. C语言内存对齐详解(2)

    接上一篇:C语言内存对齐详解(1) VC对结构的存储的特殊处理确实提高CPU存储变量的速度,但是有时候也带来了一些麻烦,我们也屏蔽掉变量默认的对齐方式,自己可以设定变量的对齐方式.VC 中提供了#pr ...

  2. C语言内存对齐详解(3)

    接上一篇:C语言内存对齐详解(2) 在minix的stdarg.h文件中,定义了如下一个宏: /* Amount of space required in an argument list for a ...

  3. c语言贪吃蛇详解3.让蛇动起来

    c语言贪吃蛇详解3.让蛇动起来 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识点. 上次 ...

  4. c语言贪吃蛇详解-2.画出蛇

    c语言贪吃蛇详解-2.画出蛇 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识点. 蛇的身 ...

  5. c语言贪吃蛇详解1.画出地图

    c语言贪吃蛇详解-1.画出地图 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识点. 首先 ...

  6. c语言贪吃蛇详解5.GameOver功能与显示成绩

    c语言贪吃蛇详解5.GameOver功能与显示成绩 以前我们已经做出来了一个能吃东西变长的蛇.不过它好像不会死... 现在就来实现一下game over的功能吧. 写个函数判断蛇是否撞到自己或者撞到墙 ...

  7. c语言贪吃蛇详解4.食物的投放与蛇的变长

    c语言贪吃蛇详解4.食物的投放与蛇的变长 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识 ...

  8. 一个简单的C语言程序(详解)

    C Primer Plus之一个简单的C语言程序(详解) #include <stdio.h> int main(void) //一个简单的 C程序 { int num; //定义一个名为 ...

  9. [转帖]rename(Perl语言版本) 详解

    rename(Perl语言版本) 详解 2019-03-19 22:51:23 wayne17 阅读数 464更多 分类专栏: Ubuntu之路   版权声明:本文为博主原创文章,遵循CC 4.0 B ...

随机推荐

  1. k8s deployment

    案例01 apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: selector: matchLabe ...

  2. mysql索引性能验证,高性能的索引策略

    索引性能验证 1.无索引列的查询 在where条件中查询没有添加索引的列,性能会比较差.我们可以先在sqlyog中打开表t_user的数据,然后复制一个名字出来进行查询. /*无索引列的查询,索引不会 ...

  3. 安全高效跨平台的. NET 模板引擎 Fluid 使用文档

    Liquid 是一门开源的模板语言,由 Shopify 创造并用 Ruby 实现.它是 Shopify 主题的主要构成部分,并且被用于加载店铺系统的动态内容.它是一种安全的模板语言,对于非程序员的受众 ...

  4. python正则表达式基本语法

    一.最常用的匹配语法 re.match 从头开始匹配 re.search 匹配包含 re.findall 把所有匹配到的字符放到以列表中的元素返回 re.split  以匹配到的字符当做列表分隔符 r ...

  5. 数据库函数-常用的MySQL函数

    1.date_sub() 时间的加减 备注:record 为datetime类型 select record_time as date, order_area as orderArea, order_ ...

  6. Windows核心编程 第十七章 -内存映射文件(上)

    第1 7章 内存映射文件 对文件进行操作几乎是所有应用程序都必须进行的,并且这常常是人们争论的一个问题.应用程序究竟是应该打开文件,读取文件并关闭文件,还是打开文件,然后使用一种缓冲算法,从文件的各个 ...

  7. Windows核心编程 第六章 线程基础知识 (下)

    6.6 线程的一些性质 到现在为止,讲述了如何实现线程函数和如何让系统创建线程以便执行该函数.本节将要介绍系统如何使这些操作获得成功. 图6 - 1显示了系统在创建线程和对线程进行初始化时必须做些什么 ...

  8. 0803-PyTorch的Debug指南

    0803-PyTorch的Debug指南 目录 一.ipdb 介绍 二.ipdb 的使用 三.在 PyTorch 中 Debug 四. 通过PyTorch实现项目中容易遇到的问题 五.第八章总结 py ...

  9. Python视频压缩

    html, body { font-family: "SF UI Display", ".PingFang SC", "PingFang SC&quo ...

  10. androidstudio2.0引用.so文件

    1.将.so文件复制到libs目录下: 2.在build.gradle中添加下面的代码 sourceSets.main.jniLibs.srcDirs = ['libs'] 结果示例: (上面的1.2 ...