GoLand导入自定义包

1. $GOPATH 环境变量的设置

针对我们 工作空间 的目录设置,如果我们只在 GoLand 中编码的话, 那就建议使用 Project GOPATH, 需要在其他

IDE 中 编码的话那就全局变量。

在这里插入图片描述

2. 项目目录的要求

我们摘取官方文档的说法:

Go代码必须放在工作空间 ( $GOPATH ) 内。它其实就是一个目录,其中包含三个子目录:

  • src 目录包含Go的源文件,它们被组织成包(每个目录都对应一个包),
  • pkg 目录包含包对象,
  • bin 目录包含可执行命令。

go 工具用于构建源码包,并将其生成的二进制文件安装到 pkgbin 目录中。

src 子目录通常包会含多种版本控制的代码仓库 (例如Git或Mercurial), 以此来跟踪一个或多个源码包的开发。

我们所有的Go代码应该放在 src 目录下。

bin/
	streak                         # 可执行命令
	todo                           # 可执行命令
pkg/
	linux_amd64/
		code.google.com/p/goauth2/
			oauth.a                # 包对象
		github.com/nf/todo/
			task.a                 # 包对象
src/
	code.google.com/p/goauth2/
		.hg/                       # mercurial 代码库元数据
		oauth/
			oauth.go               # 包源码
			oauth_test.go          # 测试源码
	github.com/nf/
		streak/
		.git/                      # git 代码库元数据
			oauth.go               # 命令源码
			streak.go              # 命令源码
		todo/
		.git/                      # git 代码库元数据
			task/
				task.go            # 包源码
			todo.go                # 命令源码

3. 公共的参数和函数的要求

变量名, 函数名, 常量名首字母大写, 则可以被其他的包进行访问, 如果是小写, 则只能在本包中使用。

简单理解: 首字母大写就是公有的, 首字母小写是私有的。

下方代码 str 和 Str 并不会冲突, 依旧是两个变量。

因为在 Go 中, 严格区分字母大小写

// 严格区分字母大小写
var str string = "私有变量"
var Str string = "公有变量"
func Add(a int, b int) int {
	return a + b
}

4. 包的引用

注意我们的Go代码应该放在 src 目录下, 而 bin 和 pkg 是运行时生成的文件。

project/
	bin/                           # 可执行文件存放位置
		main.exe
	pkg/
		windows_amd64/             # 包对象
			module/
				utils/
					str-util.a
				
	src/                           # Go的源文件, 一个目录对应一个包       
		module/           
			main/
				main.go
			utils/
				str-util.go

str-util.go

package utils

var Str string = "你好"

func Add(a, b int) int {
	return a + b
}

main.go

package main

import (
	"module/utils"
	"fmt"
)

func main() {
	fmt.Println(utils.Str)
	fmt.Println(utils.Add(1, 2))
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值