视频加载失败

【Golang】GO项目结构

480 字
2 分钟
【Golang】GO项目结构
【Golang】GO项目结构

0x00#

一般语言没有规定项目目录结构,但golang有规定,这样可以保证一致性。

0x01#

Golang提供两个关键路径:

  • GOROOT指向GO的安装路径
  • GOPATH指向项目路径

一般GO安装好后GOROOT会自动指向安装路径,所以一般不需要动。除非你安装了几个不同版本的GO,GOROOT设置为指定版本的路径即可。

GOPATH指向的项目目录目录结构:

项目目录 <-GOPATH指向的路径
├─bin <-编译后的可以执行文件存放的位置
├─pkg <-编译的中间文件存放位置
└─src <-项目源代码存放位置
├─项目 <-项目源代码存放位置
└─vendor <-第三方开源代码存放位置

一般只需要创建src,bin pkg编译时会自动创建。 指定GOPATH:

Windows:

Terminal window
set GOPATH=项目目录路径

Linux:

Terminal window
export GOPATH=项目目录路径

假如项目名为test,使用go install test进行编译 其项目文件结构:

.
├─bin <-bin目录会自动生成
| └─test <-编译后的可执行文件
└─src
└─test
├─main.go <-作为入口,必须命名为main.go
└─Hello <-文件夹名随意
└─hello.go <-文件名随意
main.go
package main //项目目录根目录和main.go的包名都为main
import (
"test/Hello" //指定目录
)
func main() {
Hello.Hello() //调用Hello目录的hello.go中的Hello()函数
}
hello.go
package Hello //包名为该文件所在的目录名
import "fmt"
func Hello() { //被跨目录调用的函数名首字母需要大写
fmt.Println("hello!!!")
}

0x02#

快捷编译脚本,将脚本放在项目目录根目录下(src同目录下):

install.sh
#!/usr/bin/env bash
if [ ! -f install ]; then
echo 'install must be run within its container folder' 1>&2
exit 1
fi
CURDIR=`pwd`
OLDGOPATH="$GOPATH"
export GOPATH="$CURDIR"
gofmt -w src
go install test
export GOPATH="$OLDGOPATH"
echo 'finished'
install.bat
@echo off
setlocal
if exist install.bat goto ok
echo install.bat must be run from its folder
goto end
: ok
set OLDGOPATH=%GOPATH%
set GOPATH=%~dp0
gofmt -w src
go install test
:end
echo finished

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
【Golang】GO项目结构
https://rehtt.com/posts/168/
作者
Rehtt
发布于
2019-06-25
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
Rehtt
Hello, I'm Rehtt.
公告
欢迎来到我的博客!
分类
标签
最新动态
站点统计
文章
150
分类
17
标签
73
总字数
67,772
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录