兄弟连区块链技术培训分享Go语言安装和部署

栏目: Go · 发布时间: 5年前

内容简介:互联网二十多年,已到十字路口。区块链出现前的互联网被称为古典互联网,而应用区块链技术的互联网才进入了后互联网时代。作为一项新兴的技术,区块链无疑正处于风口浪尖之上,其发展前景于普通大众而言也终将是利好。但目前由于区块链技术处于发展早期阶段,存在技术成熟度、落地应用场景有限等问题,兄弟连教育建议用户在选择专业安装golangGOROOT 理论上只要定义这一个环境变量就可以玩了,go编译的时候会首先在安装目录下寻找包

互联网二十多年,已到十字路口。区块链出现前的互联网被称为古典互联网,而应用区块链技术的互联网才进入了后互联网时代。作为一项新兴的技术,区块链无疑正处于风口浪尖之上,其发展前景于普通大众而言也终将是利好。但目前由于区块链技术处于发展早期阶段,存在技术成熟度、落地应用场景有限等问题,兄弟连教育建议用户在选择专业 Go语言 + 区块链培训 机构前应进行仔细考量与辨别。

安装golang

GOROOT 理论上只要定义这一个环境变量就可以玩了,go编译的时候会首先在安装目录下寻找包

GOBIN 如果不定义的话,默认是$GOROOT/bin 如果想不切换目录执行 go 的命令的话.需要将$GOBIN 加入到PATH目录中.这个你懂的

GOPATH 一般是你的开发目录,可以有多个.多个目录的时候Windows是分号,Linux系统是冒号,当有多个GOPATH时,默认会将go get的内容放在第一个目录下

$GOPATH 目录约定有三个子目录:

src 存放源代码(比如:.go .c .h .s等)

pkg 编译后生成的文件(比如:.a)

bin 编译后生成的可执行文件(为了方便,可以把此目录加入到 $PATH 变量中)

编译

构建一个Go程序需要两步:编译和链接。

编译和链 接过程都由工具go处理,它不仅可以构建本地程序和包,还能够获取、构建以及安装第三方程序和包。

go build 只编译主程序(有main()函数的go文件).且如果不指定-o参数,会当前目录下生成一个可执行文件。

go build -o myfirstgo例如   hellogo.go 编译成指定目标文件名myfirstgo

go build 后面不带文件名,我们将得到一个与目录名同名的可执行文件  例如app/main.go    则得到app

如果有多个项目,即由多个main..则可指定项目,可在go build之后加上文件名,例如go build a.go;

go get 获取远程包的工具,目前go get支持多数开源社区(例如:github、googlecode、bitbucket、Launchpad)

例如 :go get github.com/astaxie/beedb go get -u 参数可以自动更新包,而且当go get的时候会自动获取该包依赖的其他第三方包

go get本质上可以理解为首先第一步是通过源码工具clone代码到src下面,然后执行go install

要想go能够编译本地程序和包,有三个要求:

Go的bin目录($GOROOT/bin或%GOROOT%\bin)必须在PATH环境变 量下

必须存在一个目录,该目录下包含一个src目录,本地程序和包的源码就驻留在src目录下

包含src的那个目录必须在GOPATH环境变量中设置

Go编译器的package搜索顺序是这样的,以搜索hello这个package为例:

首先,Go编译器会在GO安装目录(GOROOT,这里是/usr/local/go)下查找是否有src/pkg/hello相关包源码;如果没有则继续;

若GOPATH=PATH1:PAHT2,则Go编译器会依次查找是否存在PATH1/src/hello、PATH2/src/hello;配置在GOPATH中的PATH1和PATH2被称作workplace;

go install命令除了做了go build所做的事情之外,还将可执行文件放在标准位置($GOPATH/bin或%GOPATH%\bin)。

go install还可编译其他非主程序的包放在pkg目录下

这意味着将一个单一路径($GOPATH /bin或%GOPATH>%\bin)加入到PATH环境变量中,我们安装的所有Go程序就可以方便地被加入到PATH中。 install命令执行后,我们发现main目录下没有任何变化,原先build时产生的main可执行文件也不见了踪影。

别急,前面说过Go install也有一套自己的约定:

go install编译出的可执行文件文件名为其所在目录名.所以可以把main目录改成你想要的目录名

go install将可执行文件安装到与src同级别的bin目录下,bin目录由go install自动创建.如果主文件不在src/DIR 子目录下.则不会生成到bin目录下

go install将可执行文件依赖的各种package编译后,放在与src同级别的pkg目录下

.

|-- bin

|   `-- main.exe

|-- pkg

|   `-- windows_amd64

|       `-- hello.a

`-- src

|-- hello

|   `-- hello.go

`-- main

`-- main.go

1.go的入口程序,为package main下的main函数..和其所在的包名和文件名无关..即包名,和文件名可以自定义.

2.虽然包名可以自定义,但是尽量保持为main.因为golang不允许同一个目录下有两个不同包名的文件出现,如果app/main.go,app/test.go,test的package为app,则会发生下面的冲突

can't load package: package app: found packages main (main.go) and app (test.go) in /Volumes/Opt/workspace-go/src/app

高能预警,兄弟连教育区块链直播课程8月持续火爆来袭!

原价1188元的12节区块链进阶课程,现仅需1元!

还可免费领取《Go语言基础实战项目开发》与《Go语言高级实战项目开发》教材两本!!

限时限量!!先到先得!!

http://www.ydma.cn/open/course/24

兄弟连区块链技术培训分享Go语言安装和部署

关注兄弟连区块链技术公众号领取更多技术干货哦!!! 


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数学世纪

数学世纪

皮耶尔乔治·奥迪弗雷迪 / 胡作玄、胡俊美、于金青 / 上海科学技术出版社 / 2012-1 / 28.00元

《数学世纪:过去100年间30个重大问题》以简短可读的方式论述了整个20世纪的数学。20世纪的数学博大精深,新兴领域及学科的建立发展,许多经典问题得到解决,大量新的有意义的问题的引入,为数学带来了活力。《数学世纪:过去100年间30个重大问题》介绍了数学基础,20世纪的纯粹数学、应用和计算数学,以及目前未解的重要问题,中间穿插了希尔伯特的23个问题的解决情况、菲尔兹奖和沃尔夫奖得主的工作成就等。一起来看看 《数学世纪》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具