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

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

内容简介:互联网二十多年,已到十字路口。区块链出现前的互联网被称为古典互联网,而应用区块链技术的互联网才进入了后互联网时代。作为一项新兴的技术,区块链无疑正处于风口浪尖之上,其发展前景于普通大众而言也终将是利好。但目前由于区块链技术处于发展早期阶段,存在技术成熟度、落地应用场景有限等问题,兄弟连教育建议用户在选择专业安装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语言安装和部署

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


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

查看所有标签

猜你喜欢:

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

Using Google App Engine

Using Google App Engine

Charles Severance / O'Reilly Media / 2009-5-23 / USD 29.99

With this book, you can build exciting, scalable web applications quickly and confidently, using Google App Engine - even if you have little or no experience in programming or web development. App Eng......一起来看看 《Using Google App Engine》 这本书的介绍吧!

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

RGB HEX 互转工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具