编译自制go源代码

看了一篇文章改go源码从新编译, 虽然工做中没使用到可是好奇试下, 下面是最简单的修改 fmt 包的 Println 函数为例进行了修改, 点击阅读原文能够看到参考资料, 一块儿撸起来~git

1.下载源代码

项目地址: github.com/golang/gogithub

git clone方式太慢, 这里推荐一个加速的地址 (地址: github.zhlh6.cn/)golang

转换后直接使用下方地址 clone 便可 image.pngbash

速度变得快了一点吧~😅 image.pngmarkdown

2.修改后编译源代码

下载源代码后, 修改代码函数

func Println(a ...interface{}) (n int, err error) {
    println("hello 小宇")
    return Fprintln(os.Stdout, a...)
}
复制代码

进入编译oop

./src/make.bash
复制代码

若是遇到 make.bash must be run from $GOROOT/src, 则须要修改 GOROOT 指向项目源码目录便可, 再进入到src目录执行 make.bash. 编译成功后则在src目录下生成bin目录测试

查看新编译 go 执行文件 image.pngspa

3. 测试

调用 Println3d

package main
import "fmt"

func main(){
   fmt.Println("123")
}

复制代码

编译go源码

./bin/go run main.go 
复制代码

注意这里 go 命令必须是咱们刚编译成功的执行文件

output:

hello 小宇
123
复制代码
相关文章
相关标签/搜索