golang项目结构日记

danny_amos · · 1506 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

最近再玩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博客

感谢作者:danny_amos

查看原文:golang项目结构日记

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:812540095

1506 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传