1.开发环境:ubantu;
2.安装go:(打开控制台快捷键 Shift+Alt+T)
sudo apt-get update
sudo apt-get install golang-go
3.安装完成之后,创建属于自己的go工程目录,我是在/usr/目录下创建GoProject子目录;
如果创建目录失败,则可能需要切换到root用户,属于系统权限问题,自行搜索度娘;
cd /usr
mkdir GoProject
根据我所参考的学习教程,修改配置~/.bashrc,使我们的工程目录作为默认的go环境变量(GOPATH)
vim ~/.bashrc
在配置最后追加工程目录,保存退出
export GOPATH=/usr/GoProject
执行命令,使刚修改的配置立即生效
source ~/.bashrc
进入我们的工程目录/usr/GoProject/,一般要按照go标准,要在工程目录下创建三个子目录
cd /usr/GoProject
mkdir src bin pkg
至此,基础环境算搭建完成;
4.创建第一个程序,以及遇到的问题,也许写得详细会被嫌弃,毕竟显得啰嗦;
只是简单演示下,如何创建可执行的go程序,也涉及到包(package)和模块的简单应用
进入工程目录
cd /usr/GoProject/src
在src目录下创建子包目录 my 和 test
mkdir my test
进入my目录
cd my
在my目录下创建my.go
touch my.go
在my.go中添加以下代码,并保存退出(如何使用vim对文件进行编辑和保存,问度娘)
package main //必须包含主包
import "fmt"
import "test" //引入test模块,也是src目录下的test子目录
func main(){
var ret = test.Add(1,2)
fmt.Println(ret)
}
进入test目录
cd /usr/GoProject/src/test
创建add.go
touch add.go
在add.go中添加以下代码
package test //这句代码说明这个文件中的代码属于test模块
func Add(a,b int) int{
return a + b
}
保存退出,至此,第一个简单程序代码编写完成;
5.一般可执行程序会放到bin目录下,所以我们切换到bin目录
cd /usr/GoProject/bin
执行编译命令
go build my
ls //查看当前目录下所有文件
此时查看目录下会多出可执行程序 my,可以尝试运行my程序
./my //输出结果为:3
再说说探索过程,最开始把my.go add.go放在src目录下,然后到bin目录执行编译指令,会遇到以下一些报错
can't load package
can not find package
原因就是没有用单独的层级目录封装模块,比如test目录下有add.go,而add.go的首行使用packeg test,就声明所属模块,这也是为何在my.go中import "test"模块之后,可以直接使用test.Add(1,2)方法的原因;