15AH, San Francisco

California, United States.

Send Your Mail At:

tianyingkejishe@sina.cn

Working Hours

Mon-Sat: 9.30am To 7.00pm

分类标题

Autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et dolore feugait.

分类归档 GOLang

【golang】go版本上级

一、删除旧版本

sudo rm -rf /usr/local/go
sudo apt-get remove golang
sudo apt-get remove golang-go
sudo apt-get autoremove

二、方法一

sudo add-apt-repository ppa:longsleep/golang-backports 
sudo apt-get install golang-go

如果要安装指定版本:
sudo apt-get install golang-1.11-go

如果add-apt-repository不存在,通过以下命令安装进行按照:

sudo apt-get install software-properties-commonsudo 
apt-get update

三、方法二

sudo snap install go --classic

【golang】go语言环境安装配置

1、下载go语言版本包,感觉不同的平台架构选择

https://golang.org/dl/

2、解压并安装

可以解压到任意目录,但需要设置环境变量

vim /etc/profile

export GOPATH=/goWorkPlace
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin

生效:

source /etc/profile

3、运行测试代码

package main

import "fmt"

func main() {
    fmt.Printf("hello, world\n")
}

终端输入命令:go run main.go

【GOLang】golang cgo交叉编译 linux arm64

一、交叉编译工具链安装

二、设置环境变量

CGO_ENABLED=1: 因为我们的程序使用到了Cgo,因此编译打开Cgo标志,默认情况是关闭的。
CC=aarch64-linux-gnu-gcc:指定CC也就是gcc编译命令使用交叉编译工具 aarch64-linux-gnu-gcc,也就是我们之前安装的交叉编译工具。
GOOS=linux:编译目标系统为Linux
GOARCH=arm64:编译目标的指令集架构为 64位 arm 架构
-ldflags ‘-s -w’:这个选项是为了移除编译后的程序的编译调试信息,减少可执行文件的体积。
–extldflags “-static -fpic”:静态编译,也就是会把使用到的动态库,静态链接到程序中,该指令存在时候可能会有warning提示,这是因为有些库文件是不能被静态链接的,gcc 编译器不支持 参考 [6]。