golang项目结构日记 - Go语言中文社区

golang项目结构日记


最近再玩golang,在研究如何导入自己的模块的时候很是头疼。基本golang槽糕的设计——project既要设置$GOPATH又对项目结构有一定的要求(缺少一定的自由)(当然golang糟糕的设计远不止这方面,越是深入了解越是讨厌)。google好久才知道如何配置。网上blog里要么是同一篇文章各种转载(他喵的还不注明),要么不够清晰,各种尝试后终于成功,记录如下:

进入终端输入命令

mkdir  -p goproject/src/goproject 
cd goproject
touch install
cd src/goproject
touch main.go 
cd ..
mkdir test
cd test && touch test.go

此时cd 到goproject应该是如下:

install src

cd到src应该如下

goproject

完整目录树如下
这里写图片描述

goproject
| ++++ install.sh
|++++ src
|++++|++++| goproject
|++++|++++|++++| main.go
|++++|++++|test
|++++|++++|++++|test.go

~/goproject%: cat install

#!/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 goproject<F2>

export GOPATH="$OLDGOPATH"

echo 'finished'

~/goproject%:cat src/goproject/test/test.go

package test

import "fmt"

func Test() {
    fmt.Println("this is test package")
} 

~/goproject%:cat src/goproject/main.go

package main

import test

func main() {
    test.Test()
}

至此大功造成!!!

build项目

sh ./install

执行上一条命令之后的目录如下:
这里写图片描述

~/goproject%: bin/goproject
~/goproject%: this is test package
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/danny_amos/article/details/51921793
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-16 22:53:22
  • 阅读 ( 821 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢