前言
不知不觉,研究生三年的时光即将告一段落,毕业在即。回想起当初学习的场景,那时候笔记本上记满了密密麻麻的笔记,如今想要扔掉却又舍不得。因此,我决定将当初刚入门区块链时的学习笔记分享出来。由于是跨考的,所以当时的我对区块链甚至是计算机都一窍不通,直接开始了学习之旅。因此,笔记中可能存在一些错误,仅供参考,切勿直接照搬。希望读者能够在阅读的过程中保持思考,同时,大体逻辑是可靠的。如果发现了任何错误,请务必告知我,我将及时进行修改。
Go语言安装
1备注
go安装包在 /opt/golang文件夹
文件被提取到了 /usr/local 文件夹下 有个go 文件夹
/usr/local/go/bin/ 软链接在 /usr/bin/文件夹下
工作目录$HOME/go-work/{bin,pkg,src}了
2.开始安装
ubuntu中
cd /opt
mkdir golang
cd golang
https://studygolang.com/dl/golang/go1.9.2.linux-amd64.tar.gz
sudo tar -xzf go1.9.2.linux-amd64.tar.gz -C /usr/local
sudo ln -s /usr/local/go/bin/* /usr/bin/
总体
cd /opt
mkdir golang
cd golang
yum install wget
wget https://studygolang.com/dl/golang/go1.17.7.linux-amd64.tar.gz
sudo tar -xzf go1.17.7.linux-amd64.tar.gz -C /usr/local
sudo ln -s /usr/local/go/bin/* /usr/bin/
2.1转到文件夹
cd /opt
2.2创建路径并转到那个路径
mkdir golang
cd golang
2.3安装wget(wegt下载的东西一般下载当前路径文件夹下)
yum install wget
2.4下载go
wget https://studygolang.com/dl/golang/go1.17.7.linux-amd64.tar.gz
2.5提取压缩包到合适的目录(例如: /usr/local ):
sudo tar -xzf go1.17.7.linux-amd64.tar.gz -C /usr/local
2.6.建立软链接
sudo ln -s /usr/local/go/bin/* /usr/bin/
3. 设置 Go 开发环境
总和:
mkdir -p /home/lhc/go-work/{bin,pkg,src}
vi /etc/profile
export GOPATH=/home/lhc/go-work
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOROOT/bin:$GOBIN
source /etc/profile
go env
go version
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOSUMDB=sum.golang.google.cn
export GO111MODULE=on
export GOPROXY=https://goproxy.cn,direct
export GOSUMDB=sum.golang.google.cn
3.1备注:
Go代码必须放在 工作空间 内。它其实就是一个目录,其中包含三个子目录:
src 目录包含Go的源文件,它们被组织成 包 (每个目录都对应一个包),
pkg 目录包含 包 编译后生成的库文件,
bin 目录包含 包 编译后生成可执行程序。
3.2可在合适的位置创建工作空间和子目录,实例如下:
mkdir -p $HOME/go-work/{bin,pkg,src}
mkdir -p /home/lhc/go-work/{bin,pkg,src}
vi /etc/profile
3.3使用 vi 编辑环境变量配置文件 $HOME/.bashrc :
sudo vim $HOME/.bashrc
进入编辑界面后 Shift+G 跳转至尾行,按 o 新插入一行,输入如下
export GOROOT=/usr/local/go #设置为go安装的路径,有些安装包会自动设置默认的goroot
export GOPATH=$HOME/go-work #默认的Golang项目的工作空间
export GOBIN=$GOPATH/bin # go install命令生成的可执行文件的路径
export PATH=$PATH:$GOROOT/bin:$GOBIN #go执行命令路径
之后按 Esc 键,: wq 保存退出。
export GOROOT=/usr/local/go
export GOPATH=$HOME/go-work
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOROOT/bin:$GOBIN
备注
配置环境变量
vi /etc/profile
source /etc/profile
GOPATH 工作空间是一个目录层次结构,其根目录包含三个子目录:
src:包含 Go 源文件,注意:你自己创建依赖的package,也要放到GOPATH 目录下,这样才能够被引用到。
pkg:包含包对象,编译好的库文件
bin:包含可执行命令
区分项目和可执行文件
3.4使配置文件生效:
source $HOME/.bashrc #注:这里不要用sudo执行,sudo无该命令
3.5可运行 go env 查看gol环境变量:
go env
go version
4.Go Modules配置
从1.11版本开始,Golang引入了新的依赖管理机制Go Modules解决长期以来Go语言依赖包没有版本控制的缺陷,Go Modules依赖的环境变量为GOPROXY和GOSUMDB,GOPROXY用于检索依赖包的信息,GOSUMDB用于校验,默认的配置为:
GO111MODULE=""
GOPROXY="https://proxy.golang.org,direct"
GOSUMDB="sum.golang.org"
由于国内屏蔽google,故导致这两个域名都无法访问。因此,需要重新配置,直接通过go指令修改
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOSUMDB=sum.golang.google.cn
3. 测试 Go 源码实例
通过构建一个简单的程序来检查Go的安装是否正确,具体操作如下:
首先创建一个名为 hello.go 的文件,并将以下代码保存在其中
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
接着通过 go 工具运行它:
go run hello.go
若看到了“hello, world”信息,那么Go已被正确安装。