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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值