go语言

MAC上go源码安装与修改

2019-09-15  本文已影响0人  链人成长chainerup

本文是《循序渐进go语言》第一篇-安装篇。

1 安装

指令如下:

echo "export GOROOT=$HOME/golang/go" >> ~/.bash_profile
echo "export GOPATH=$HOME/golang/path" >> ~/.bash_profile
echo "export PATH=$PATH:$HOME/golang/go/bin" >> ~/.bash_profile
echo "export GOROOT_BOOTSTRAP=$HOME/golang/go1.4" >> ~/.bash_profile
source ~/.bash_profile
cd ~
mkdir golang && cd golang
git clone https://github.com/golang/go.git go
cp -r go go1.4
cd go1.4
git checkout -b release-branch.go1.4 origin/release-branch.go1.4
cd src
./make.bash
cd ../../go
git checkout -b release-branch.go1.8 origin/release-branch.go1.8
cd src
./make.bash
go version

这样就OK了。

2 修改源码

如果想改一下源码,自己调试下,可以像我一样,修改一下:
runtime/proc.go 【这儿是go程序执行的必经之路,先不用管具体为什么,后面我们会分析】

// The main goroutine.
func main() {
        // 增加下面这一样,用于调试。
    println("welcome to  zp' go source world~~~")
    g := getg()

    // Racectx of m0->g0 is used only as the parent of the main goroutine.
    // It must not be used for anything else.
    g.m.g0.racectx = 0
    ...

然后再次跳转到对应的go代码的src文件目录下

cd $HOME/golang/go/src

然后再次执行

./make.bash

这样就修改代码OK了。

3 来个例子

跳转到gopath的路径下,比如本文的

cd $HOME/golang/path

新建go测试文件 test.go

package main

func main() {
    println("hello")
}

然后执行

go run test.go

看下结果


image.png

我们写入到源码中的代码已经生效了。

4 总结

本文讲解了在MAC上如何使用源码安装go。然后对go源码进行了一点细微的修改(主要是为了体验这个过程),编译之后,然后写了一个小demo, 验证是否修改OK。希望对你有所帮助~

5 其他

本文是《循序渐进go语言》的第一篇-《MAC上go源码安装与修改》。
如果有疑问,可以直接留言,也可以关注公众号 “链人成长chainerup” 提问留言,或者加入知识星球“链人成长”~

上一篇 下一篇

猜你喜欢

热点阅读