1. 首页
  2. 编程语言
  3. Web开发
  4. golang+Web开发

golang+Web开发

上传者: 2020-07-30 21:25:00上传 PDF文件 5.71MB 热度 33次
golang+Web开发文档applematoMacBook-Pro-3: apples goGo is a tool for managing Go source codeUsagego command Arguments]The commands arebuildcompile packages and dependenciescleanremove object filesdocrun godot on package sourcesevprint Go enironment informationfixrun go tool fix on packagesfimtrun gofint on package sourcesgetdownload and install packages and dependenciesinstall compile and install packages and dependencieslistlist packagescompile and run Go programtes七test packagestooLrun specified go toolverSLonprint Go versionrun go tool vet on packagesUse "go help [command]"for more information about a commandAdditional help topics:gopathGOPATH environment variabLepackages description of package listsremoteremote import path syntaxtestflag description of testing flagstestfunc description of testing functionuse"go help [topic]"for more information about that topic.applematoMacBook-Pro-3: apples图1.1源码安装之后执行Go命令的图如果出现Go的 Usage信息,那么说明Go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了Go的安装目录Go标准包安装Go提供了每个平台打好包的一键安装,这些包默认会安装到如下目录:/usr/ local/ go (Windows系统:c:\Go),当然你可以改变他们的安装位置,但是改变之后你必须在你的环境变量中设置如下信息:port gOr○oT= SHOME/goexport PATH=$PATH: S GCROOT/bin如何判断自己的操作系统是32位还是64位?我们接下来的Go安装需要判断操作系统的位数,所以这小节我们先确定自己的系统类型。Windows系统用户请按Win+R运行cmd,输入 systeminfo后回车,稍等片刻,会出现一些系统信息。在“系统类型”一行中,若显示“x64- based pc”,即为64位系统;若显示“X86 based pc”,则为32位系统。Mac系统用户建议直接使用6位的,因为Go所攴持的Mac0SX版本已经不支持纯32位处理器了Linux系统用户可通过在 Termina中执行命令 urame-a来查看系统信息64位系统显示<一段描述>x8664x8664×8664GⅣU/Linu//有些机器显示如下,例如 ubuntu10.04x86 GNU/Linux32位系统显示<一段描述>686i686i386GNU/Li1uxMac安装访问下载地址,32位系统卜载go1.0.3. darwin386.pkg,64位系统下载go1.0.3. darwin-amd64.pkg,双击卜载文件,路默认安装点击下一步,这个时候go已经安装到你的系统屮,默认已经在PATH屮增加了相应的-/g/bn,这个时候打开终端,输入go看到类似上面源码安装成功的图片说明已经安装成功如果出现go的 Usage信息,那么说明go已经安装成功了;如果出现该命令不存在,那么可以检査一下自己的PATH环境变中是否包含了g0的安装目录。Linux安装访问下载地址,32位系统下载go1.0.3. linux-386.tar.gz,64位系统下载go1.0.3.1 inux-amdy64.tar.gz,假定你想要安装Go的目录为 SGO INSTALL DIR,后面替换为相应的目录路径解压缩tax.gz包到安装目录下: tar zxvf go=.0.3.1nux-ama64.tar.gz-cG0 INSTA二LDIR。xpATh, export PATH=SPATH: SGO INSTALL DIR/go/bin然后执行gcGo is a tool for managing r yort@SNDA-172-17-12-5~]#o source codeUsagenmand Lar gumentsThe commands ar凵Tcompi le packages and dependenciescleanremove objectrun modoc on package sourcesprint Go environment informationrun go too1Xn口 acklesfmtun gott on package sourcesdownload and install packages and dependenciesstallcompile and install pack ages and dependencieslistlist packagecompile and run Go programt已ttest pack:un specified go tool已s1口npr nt Go version已trun go tool vet on pack agesUSe go help [command] for more information about a commandAdditional help topics:口pathOPATH environment variablepackages description of package listspath syntflag description of testing ftestfunc description of testing funct ionsuse go help [topic] for more information about that topic.图1.2 Linux系统下安装成功之后执行8o显示的信息如果出现go的 Usage信息,那么说明go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变巾是否包含了go的安装目录。Windows安装访问下载地址,32位系统下载go1.0.3. windows-386.msi,64位系统下载go1.0.3. windows-amd64.msi。双击打开下载的文件,一路按照默认点击下一步,这个时候go已经安装到你的系统中,默认安装之后已经在你的系统环境变量中加入了c:/go/sin,这个时候打开cmd,输入qo看到类似上面mac安装成功的图片说明已经安装成功如果出现Go的 Usage信息,那么说明Go已经安装成功了;如出现该命令不存在,那么可以检査一下自己的PATH环境变巾是否包含了Go的安装目录。第三方工具安装GVMgⅷm是第三方开发的Go多版本管理工具,类似rub里面的rYm工具。使用起来相当的方便,安装gⅧm使用如下命令bash<<(curl-shttps://raw.githuo.com/moovweb/gvm/master/binscripts/gvm-installer)安装完成后我们就可以安装go了:gvm install gol.0. 3gvm use gol.0.3执行完上面的命令之后 GOPATH、GOR0OT等环境变量会自动设置好,这样就可以直接使用了。apt-getUbuntu是目前使用最多的 Linux桌面系统,使用apt-get命令来管理软件包,我们可以通过下面的命令来安装Gosudo add-apt-repositcry ppa: gophers/got updatdo apt-get install golang-stablehomebrewhomebrew是Mac系统下面目前使用最多的管理软件的工具,目前已支持Go,可以通过命令直接安装Gobrew install golinks目录上一节:Go环境配置·下一节: GOPATH与工作空间1.2 GOPATH与工作空间GOPATH设置go命令依赖一个重要的环境变量:$G0PATH1(注:这个不是G0安装月录。下面以笔者的工作月录为说明,请替换自机器上的工作月录。)在类似Unix环境大概这样设置: sh export GOPATH=/home/ apple/ myo Windows设置如下,新建一个环境变量名称叫做 GOPATH:sh. GOPATH:=c:\ myg. gopath允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候 Windows是分号, Linux系统是冒号,当有多个 GOPATH时,默认会将 go get的内容放在第一个目录下以上$G0PATH目录约定有三个子目录:src存放源代码(比如:.go.c.h.s等)pkg编译后生成的文件(比如:a)bin编译后生成的可执行文件(为了方使,可以把此目录加入到$PATH变量中)以后我所有的例子都是以mygo作为我的 gopath目录应用目录结构建立包和目录:$ GOPATH/src/ mymath/sqrt.go(包名:" mymath")以后自己新建应用或者一个代码包都是在src目录下新建一个文件夹,文件夹名称一般是代码包名称,当然也允许多级目录,例如在src卜面新建了目录$G0PATH/src/ github.con/ ataxia/ beeb那么这个包路径就是“github.com/ataxic/beeb”,包名称是最后一个目录bedb执行如下代码 sh cd sGOPATH/ src mkdir mvmata新建文件sqrt.go,内容如下go/SGOPATH/sre/ mymath/sqrt.go源码如下: package mymathfunc sart(x float64) float64Cfcr1:=0;i<1000;i++(2xz-x)/(2x)reurn 2这样我的应用包目录和代码已经新建完毕,注意:一般建议 package的名称和目录名保持一致编译应用上面我们已经建立了自己的应用包,如何进行编译安装呢?有两种方式可以进行安装1、只要进入对应的应用包日录,然后执行 gc insta11,就可以安装了2、在任意的日录执行如下代码 go Insta11安装完之后,我们可以进入如下目录 sh cd sPATh/pkq/sGoo8}s{G0ARCH}//可以看到如下文件mmath.a这个.a文件是应用包,那么我们如何进行调用呢?接下来我们新建一个应用程序来调用新建应用包 mathapp sh cd$GoPT!/ src mkdir mathapp cd mathapp vim main.9o//SGOPAIH/src/.athapp/main. gOVR1L: go package mainmportmymath){fmt printf("Hello, world. Sort()=v\n", mymath. sqrt(2)如何编译程序呢?进入该应用目录,然后执行 go build,那么在该目录下面会生成一个 delapp的可执行文件sh./ mathar输出如卜内容 sh hello, world.Sqrt(2)=1.414213562373095如何安装该应用,进入该目录执行 go install,那么在$ GOPATH/bin/下增加了一个可执行文件 mathapp,这样可以在命令行输入如下命令就可以执行I:lathrOp也是输出如下内容He11。,wor1a.Sqrt(2)=1.4142-3562373095获取远程包go语言有一个获取远程包的工具就是 go cet,日前 go get支持多数开源社区(例如:github、 googlecode、 bitbucket、 Launchpad)go get g thuE. com/astaxie/beedbgo get-u参数可以自动更新包,而且当 go get的时候会自动获取该包依赖的其他第三方包通过这个命令可以获取相应的源码,对应的开源平台采用不同的源码控制工具,例如 github采用git、 googlecode采用hg,所以要想获取这些源码,必须先安装相应的源码控制工具通过上面获取的代码在我们本地的源码相应的代码结构如下SGOPATHsrM1 epkg1--相应平台-github.com-astateI beeb.agσget本质上可以理解为首先第一步是通过源码工具 clone代码到src下面,然后执行 go insta11在代码中如何使用远程包,很简单的就是和使用本地包一样,只要在开头 Import相应的路径就可以mport "github. com/astaxie/beeb程序的整体结构通过上面建立的我本地的mygo的目录结构如下所示binmatharpkg/平台名/如: darwin amd61、1 inux am.d64yim.staleeedb. aa In, gomymath/scre. dogithuo. comseaRlegOgo从上面的结构我们可以很清晰的看到,bin目录下面存的是编译之后可执行的文件,pkg下面存放的是函数包,src下面保存的是应用源代码[1] Windows系统中环境变量的形式为3G○PT日,本书主要使用Unix形式, Windows用户请自行替换。links且录上一节:GO安装·下一节:G0命令3Go命令Go命令Go语言自带有一套完整的命令操作工具,你可以通过在命令行中执行o来查看它们:10C:}>c11G01ata1王 oi canal1MgG。 ource coce,13U3a已go command [arguments]⊥617 The corrriands are111i1dompile packages and dependencies已邑n上1口ecti1e吕run godoc on pac kage sources已nprint Go environment informationgo tool fix on packanfrit了士t口rGe七〔口可n1 ad and i1ata11yac] ages and dependen1已in七a11compile and install packages and dependencies1i彐七compile七e吕t七已 t pac kace七口口1x111pec1工1 ea go too1已上1口print Go version已七t口1 vet on pack3334 Use go help [corrmcand] for more information about a cortland36A1i口2a1he1pt口1caGOPATH39packages description of package lists已rLpath syntaxstalagdescription of testing flagstest fund夏 escrIption口 f testing functions4 Use go help topic for more information about that topic图1.3Go命令显示详细的信息这些命令对于我们平时编写的代码非常有用,接下来就让我们了解一些常用的命令。o build这个命令主要用于测试编译。在包的编译过程中,若有必要,会同时编译与之相关联的包。如果是普通包,就像我们在1.2节中编写的 : th包那样,当你执行 go bui1d之后,它不会产生任何文件如果你需要在 SGOPATH/pkg下生成相应的文件,那就得执行 yo insta11了如果是main包,当你执行gob11a之后,它就会在当前目录下生成一个可执行文件。如果你需要在GOPATH/bin下生成相应的文件,需要执行 go insta11,或者使用 g. bui1a-c路径/a.exe如果某个项目文件夹下有多个文件,而你只想编译某个文件,就可在 go bui1d之后加上文件名,例如go
用户评论