Golang工程自动创建脚本

来源:互联网 发布:洞主手工皂淘宝在哪 编辑:程序博客网 时间:2024/06/02 07:05

1.Windows 版本 gogo.bat

参考Linux版本修改而来

rem 参考程序原文:http://www.cnblogs.com/ficow/p/6553344.htmlrem Alex hurem 2017-07-26rem 建立目录mkdir %1cd %1mkdir pkgmkdir binmkdir srcmkdir src\configmkdir src\%1rem 建立config.go@echo package config>> src\config\config.go@echo func LoadConfig() { >> src\config\config.go@echo } >> src\config\config.gorem 建立main.go@echo package main>> src\%1\main.go@echo import ( >> src\%1\main.go@echo "config" >> src\%1\main.go@echo "fmt" >> src\%1\main.go@echo ) >> src\%1\main.go@echo func main() { >> src\%1\main.go@echo    config.LoadConfig() >> src\%1\main.go@echo    fmt.Println("Message From %1.exe: Hello World!") >> src\%1\main.go@echo } >> src\%1\main.gorem 建立install.bat@echo set curdir=%%cd%%>>install.bat@echo set oldgopath=%%GOPATH%%>>install.bat@echo set GOPATH=%%curdir%%>>install.bat@echo gofmt -w src>> install.bat@echo go install %1 >> install.bat@echo set GOPATH=%%oldgopath%%>> install.bat@echo echo finished >> install.bat

2.Mac/Linux版 gogo.sh

原文地址:http://www.cnblogs.com/ficow/p/6553344.html

#!/bin/bash#————————————–# Module : mk_go_pro.sh# Author : Blair Zhong# Created : 2013.07.23# Modify :# Version : 1.0# Useage : ./mk_go_pro.sh# ./mk_go_pro.sh porject_name# Description: 创建一个go可编译的工程#————————————–# 根据 Go语言学习园地博客的帖子编写,如有侵权请联系本人# http://blog.studygolang.com/2012/12/go项目的目录结构/# 默认情况下运行本程序,会生成如下目录和文件# test# ├── bin# ├── install.sh# ├── pkg# └── src# ├── config# │   └── config.go# └── test# └── main.go## 5 directories, 3 files## 其中:# 1, install.sh为安装文件,# 2, config.go为test项目的配置文件# 3, main.go这个你懂的# 生成完毕之后运行进入test目录,运行install.sh会生成如下文件和目录# ├── bin# │   └── test# ├── install.sh# ├── pkg# │   └── darwin_amd64# │   └── config.a# └── src# ├── config# │   └── config.go# └── test# └── main.go# 6 directories, 5 files## 多了两个文件# 1, bin目录下的test,这个是可执行稳健# 2, pkg/darwin_amd64下的config.a,这个是config编译后产生的文件## enjoy it!PWD=$(pwd)cd $PWDif [[ "$1" = "" ]]; thenecho "Useage: ./mk_go_pro.sh porject_name"echo -ne "Please input the Porject Name[test]"read Answerif [ "$Answer" = "" ]; thenecho -e "test";PRO_NAME=test;elsePRO_NAME=$Answer;fielsePRO_NAME=$1;fi#创建目录echo "Init Directory …"mkdir -p $PRO_NAME/binmkdir -p $PRO_NAME/pkgmkdir -p $PRO_NAME/src/configmkdir -p $PRO_NAME/src/$PRO_NAME#创建install文件echo "Create install/install.sh …"cd $PRO_NAMEecho '#!/bin/bash' > install.shecho 'if [ ! -f install.sh ]; then' >> install.shecho "echo 'install must be run within its container folder' 1>&2" >> install.shecho "exit 1" >> install.shecho "fi" >> install.shecho >> install.shecho "CURDIR=\`pwd\`" >> install.shecho "OLDGOPATH=\"\$GOPATH\"" >> install.shecho "export GOPATH=\"\$CURDIR\"" >> install.shecho >> install.shecho "gofmt -w src" >> install.shecho "go install $PRO_NAME" >> install.shecho "export GOPATH=\"\$OLDGOPATH\"" >> install.shecho >> install.shecho "echo 'finished'" >>install.shchmod +x install.sh#创建config.go文件echo "Create src/config/config.go …"cd src/configecho package config > config.goecho >> config.goecho func LoadConfig\(\) { >> config.goecho >> config.goecho } >> config.go#创建main.goecho "Create src/$PRO_NAME/main.go …"cd ../$PRO_NAME/echo "package main" > main.goecho >> main.goecho "import (" >> main.goecho " \"config\"" >> main.goecho " \"fmt\"" >> main.goecho ")" >> main.goecho >> main.goecho "func main() {" >> main.goecho " config.LoadConfig()" >> main.goecho " fmt.Println(\"Hello $PRO_NAME!\")" >> main.goecho "}" >> main.goecho "All Done!"
原创粉丝点击