goweb-安装go及配置go
安装go及配置go
安装go
写这篇博客时,我的电脑的windows已经安装过了go,用的是标准包安装,不过我的linux操作系统还没安装,可以考虑用第三方工具安装,因为看了goweb这本书,我才知道安装go有三种方式。这本书对三种操作系统的安装方式都有介绍
- go源码安装:这是一种标准的软件安装方式。对于经常使用unix类系统的用户,尤其对于开发者来说,从源码安装可以自己定制。
- go标准包安装:go提供了方便的安装包,支持windows、linux、mac等系统。这种方式适合快速安装,可根据自己的系统位数下载好相应的安装包,一路next就可以轻松安装了。推荐这种方式
- 第三方工具安装:目前有很多方便的第三方软件包工具,例如ubuntu的apt-get和wget、mac的homebrew等。这种安装方式适合那些熟悉相应系统的用户。
如果你想在同一个系统中安装多个版本的go,你可以参考第三方工具gvm,这是目前在这方面做得最好的工具,除非你知道怎么处理。
windows系统用户按win+r运行cmd,输入systeminfo
后回车,稍等片刻,会出现一些系统信息。在“系统类型”一行中,若显示“x64-based pc”,即为64位系统;若显示“x86-based pc”,则为32位系统。
苹果的我没细看,因为我没苹果的,o(∩_∩)o哈哈~
这有教如何在linux上配置环境变量,真好!,安装的是gvm第三方工具。早知道第三方这吗好,我当时就在windows上安装第三方工具了,不过其实页无所谓了,这并不影响我在windows上使用go
export goroot=/usr/local/go export gobin=$goroot/bin export path=$path:$gobin export gopath=$home/gopath (可选设置)
go的特点
go是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。它具有以下特点:
- 它可以在一台计算机上用几秒钟的时间编译一个大型的go程序。
- go为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分c风格include文件与库的开头。
- go是静态类型的语言,它的类型系统没有层级。因此用户不需要在定义类型之间的关系上花费时间,这样感觉起来比典型的面向对象语言更轻量级。
- go完全是垃圾回收型的语言,并为并发执行与通信提供了基本的支持。
- 按照其设计,go打算为多核机器上系统软件的构造提供一种方法。
go是一种编译型语言,它结合了解释型语言的游刃有余,动态类型语言的开发效率,以及静态类型的安全性。它也打算成为现代的,支持网络与多核计算的语言。要满足这些目标,需要解决一些语言上的问题:一个富有表达能力但轻量级的类型系统,并发与垃圾回收机制,严格的依赖规范等等。这些无法通过库或工具解决好,因此go也就应运而生了。
go 命令依赖一个重要的环境变量:$gopath
gopath允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候windows是分号,linux系统是冒号,当有多个gopath时,默认会将go get的内容放在第一个目录下。
gopath
以上 $gopath 目录约定有三个子目录:
- src 存放源代码(比如:.go .c .h .s等)
- pkg 编译后生成的文件(比如:.a)
- bin 编译后生成的可执行文件(为了方便,可以把此目录加入到 $path 变量中,如果有多个gopath,那么使用${gopath//://bin:}/bin添加所有的bin目录)
注意:一般建议package的名称和目录名保持一致
这讲了一个如何安装和编译go应用,我以前没见过这一点,他这自己写了一个包,有安装这个包,又掉这个包,这和在一个文件夹里写入这个包在在该文件夹里引用这包不一样的嘛,有点不理解这吗做的意义。
工具和插件
实用工具:获取远程包:go get github.com/astaxie/beedb
go get本质上可以理解为首先第一步是通过源码工具clone代码到src下面,然后执行go install,在代码中如何使用远程包,很简单的就是和使用本地包一样,只要在开头import相应的路径就可以import "github.com/astaxie/beedb"
到这对前面的做法好像有点懂了
go get -u 参数可以自动更新包,而且当go get的时候会自动获取该包依赖的其他第三方包
bin目录下面存的是编译之后可执行的文件,pkg下面存放的是应用包,src下面保存的是应用源代码
go的相关工具真的好厉害:
go test go build go install go clean go fmt go get go tool go generate godoc go version 查看go当前的版本 go env 查看当前go的环境变量 go list 列出当前全部安装的package go run 编译并运行go程序
一种看官方文档方法:过命令在命令行执行 godoc -http=:端口号 比如godoc -http=:8080。然后在浏览器中打开127.0.0.1:8080,你将会看到一个golang.org的本地copy版本,通过它你可以查询pkg文档等其它内容。如果你设置了gopath,在pkg分类下,不但会列出标准包的文档,还会列出你本地gopath中所有项目的相关文档,这对于经常被墙的用户来说是一个不错的选择。
编辑器:我的电脑上有vscode,sublime,atom和liteide,我一般vscode,嘻嘻嘻,这本书对每款编辑器的相关插件做了简单介绍。
我服了,go语言好多好用的插件安装不上,气!
这一章中主要介绍了如何安装go,go可以通过三种方式安装:源码安装、标准包安装、第三方工具安装,安装之后我们需要配置我们的开发环境,然后介绍了如何配置本地的$gopath,通过设置$gopath之后读者就可以创建项目,接着介绍了如何来进行项目编译、应用安装等问题,这些需要用到很多go命令,所以接着就介绍了一些go的常用命令工具,包括编译、安装、格式化、测试等命令,最后介绍了go的开发工具,目前有很多go的开发工具:liteide、sublime、vscode、atom、goland、vim、emacs、eclipse、idea等工具,读者可以根据自己熟悉的工具进行配置,希望能够通过方便的工具快速的开发go应用。
下一篇: JavaScript的array方法