
正文
什么软件可以写go语言 go开发app
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Go语言有什么好用的IDE吗
我喜欢jetbrains系列的IDE+go插件。不过我要说的是这个问题主要看你的观点如何。
说eclipse:
构建方式是使用go install 命令,每一次编译运行都是go install。这样的好处就是如果你有很多的包,下载下来并没有编译,这样每次编译速度是很快的。而且(!)go install 符合go官方的项目结构,官方说过了,一个go的项目应该是以个gopath,包含src,pkg,bin三个主要目录。所以说go install个人认为才是主要的go编译方式。
说eclipse的缺点:
其实eclipse插件的go编译方式,还有目录结构,项目结构,都是非常完美的!!!!真的很完美!可是,他的代码提示,太差件!大括号都不能自动补全,gdb 32bit 64bit兼容问题,eclipseC++ 没有html js插件,需要手动安装,几乎不能开箱即用。不过如果你是开发算法,数据处理,还是推荐eclipse的,毕竟其他都无关紧要。
说jetbrains:
说先说clione肯定不适合,新建项目没有向导,导致改成go项目各种不开心,比如图标对于我来说就无法接受go lib 不是小耗子~这是次要的,重要的是各个文件都是灰色的(没有在cmake中包含的结果),然后说剩下的,phpstorm这个不说了,估计很少有人插件按在这里,webstorm,体验也不是很好,idea?体验很好,可是毕竟比较重,尤其是现在加入了自家的K啥玩意(无意冒犯,没记住单词)~可是话说回来,go跟C系列IDE配合才是最佳,跟java系列一点不搭关系,用idea似乎有点格格不入,但是!idea支持新建项目向导,lib的图标也很清晰,最后还是选择idea吧,期待clion的强大起来!
再说jetbrains系列缺点:
插件的构建方式是go buiild 这个让人很不爽,我们几乎不确定会构建到什么地方去,还要每次设置一下run配置。这个可能无关紧要,毕竟不是什么大的毛病,可是go build不能缓存.a文件,直接构建的结果就是很多第三方包的情况下很慢!所以建议安装包的时候手动install 一下解决这个问题。自带代码格式化,这个格式化跟go 格格不入,总的来说就是蛋疼,心碎,菊花痒。
最后说liteIDE:
轻量级IDE,我可以说是国人GO伟大作品典范,然而默认构建也是go build,项目管理方式不符合go官方标准。代码提示不能自动导入(eclipse也不能),不过如果你的项目是以包为单位的,那么另当别论。一定很不错,毕竟是轻量级专门针对GO的IDE!
说这些,其实还有很大一部分取决于你的项目是用vendor机制管理,还是godeps机制管理依赖关系。go不像java拥有强大的几乎天下一统的maven(无意冒犯,暂不评价其他构建套件)。
go没有官方包仓库。
go没有官方包管理工具。
go没有官方自动化构建套件。
上面三个没有是致命要害。导致民间各种百花齐放。
说说我的项目怎么管理
gpm 一个shell工具(windows下你可以用git的bash,或者cygwin~)
我是严格艳照官方推荐方式管理go项目,一个go项目一个gopath。系统的gopath只是为了安装go命令,我没有配置gobin,意义不大。
项目的依赖跟我的代码包都在src下(非vendor)
vendor用来存放包的特殊依赖,发布项目直接把依赖包发布上去(公网管理则只上传依赖关系文件 godeps文件)
资源文件等都放在src目录同级,编译文件放在bin,引用直接../引用。
相关问答
Q1: go语言编译器有哪些官网
go语言编译器官网:可以去DELVE官网进行下载。
谷歌资深软件工程师罗布·派克(Rob Pike)表示什么软件可以写go语言,“Go让我体验到什么软件可以写go语言了从未有过什么软件可以写go语言的开发效率。”派克表示,和今天的C++或C一样,Go是一种系统语言。他解释道,“使用它可以进行快速开发,同时它还是一个真正的编译语言,我们之所以现在将其开源,原因是我们认为它已经非常有用和强大。”
撰写风格:
在Go中有几项规定,当不匹配以下规定时编译将会产生错误。
每行程序结束后不需要撰写分号(;)。
大括号({)不能够换行放置。
if判断式和for循环不需要以小括号包覆起来。Go亦有内置gofmt工具,能够自动整理代码多余的空白、变量名称对齐、并将对齐空格转换成Tab。
Q2: 软件是用编程软件编的,编程软件又怎么来的?
软件是用编程软件写成的,那么编程软件是怎么来的呢?
这个吧,我真的没办法一个个给你解释到底,不然你要是打破沙锅问到底,可能一顿火锅的功夫我也没办法给你说完。举个例子哈,IntelliJIDEA和Eclipse都是Java的IDE,用这两个IDE可以写非常多的软件,比如AndroidStudio先后分别基于这两个软件,Android上所有的软件都是用这玩意儿开发的,但是这两个IDE本身也都是Java语言开发的,这两个IDE呢最初肯定是在Vim/Emacs+Java开发的,咱就先说到这里,不然要喋喋不休了。
我给大家提一个思路,大家按照这个思路可以自己去找自己感兴趣的问题。我给大家说一说Google实现Go1.5自举、去除所有的C语言程序的过程,大家慢慢就明白了,基本上计算机技术都是这样迭代出来的,比如怎么先有了C语言、现有了Unix,又如何在这些基础上,诞生了Emacs、C++等众多新的软件和技术。
事实上现在所有新的编程语言,基本上都会考虑在C语言的基础之上构建,Go语言也不例外,何况Go语言的重要设计者之一肯汤普森老爷子,还是C语言、Unix之父。Go语言发展的第一阶段,就是开发一个从C语言到Go语言的翻译器,将C语言编译器翻译成Go语言的,不过了Go语言核心设计团队的三位大神非常机智,他们最大程度避免了在Go语言编译器设计中,大量使用未来很难移植到Go语言的一些特性,比如宏、比如指针,这些都是C、C++留下的一些糟糕的设计,不符合现在的编程语言设计潮流。转换编译器源码树产生一个Go语言编译器,不过这时候还是典型C语言风格。
接下来,Google对编译器进行了优化,将编译器CPU、内存等硬件资源占用的问题解决了,并且引入了并行概念。为了改进编译器在消除边界检查等问题下的能力,同时在不依赖架构的node*s、prog*s之间引入一个中间表示。这些事情完成之后,Google就做了最后一步,用Go1.5、也就是当时Go语言最新版本,用go/parser和go/types替换了编译器前端,至此Go语言实现了自举,并且获得了一个稳定高效的编译器实现。
Go语言本身编程难度要比C更简单,这是因为Go语言跟很多高级语言一样,摒弃了指针、规避了内存泄漏、解决了缓冲区溢出,深度递归时栈的溢出,摒弃了宏这些定义。Go语言工具链对模块化、单元测试、以及性能分析支持更好,在修改内部API或重构时,应用自动化程序重构前景更加值得期待。
你看这就是Go语言从C语言写编译器,到最终实现Go语言完全自举的过程,当然大家都知道图灵完备的编程语言都可以实现自举,理论上符合图灵完备的编程语言都是这么发展的,C++就是这么发展的,满足这个条件的编程语言,你才能作为其他编程语言的基础。
那么我们回到最初的问题上,编写软件的编程软件又是在什么环境下开发的呢?计算机技术发展至今,在机器语言的基础上,弄出了汇编语言,接着两位祖师爷弄了C语言和Unix系统,接着在这个基础上,又有人弄了Emacs、Vim、GCC,你看基本上现代计算机技术的所有根基技术就有了。
接着就是用C语言写各种操作系统,为了各种需求写各种编程语言,又根据各种需求开发各种集成开发环境,然后又根据各种应用需求用集成开发环境写其他应用软件,这就是一个完整的计算机技术发展进化流程。
编程软件也是,先有了机器语言,打孔时代创造和发明了汇编语言,汇编语言的基础上又有了B语言,然后B语言的基础上发明了C语言,C语言重写Unix,于是现代计算机的雏形也就有了。早期是一生一、机器语言生汇编,然后机器和汇编语言生C语言,到C语言时代就是一生万物、C语言生万物,现在就是多生万物。这就是计算机技术发展的过程。
Q3: 为什么苹果可以用两种编程语言开发应用?而安卓只能用JAVA。不能用其他呢?Go语言不支持安卓?
苹果公司允许开发人员使用 Objective-C 和 Swift 两种编程语言开发 iOS 应用,因为这两种语言已经紧密地与苹果的开发环境和工具集整合在一起。
安卓操作系统原生支持 Java 语言,因此它是安卓应用开发的首选语言。但是,安卓也支持使用其他语言(如 Kotlin)来开发应用,并且使用其他语言的开发人员可以通过 Java Native Interface (JNI) 访问安卓的底层系统 API。
Go语言不是安卓操作系统原生支持的语言,因此需要使用其他方法才能在安卓上开发 Go 语言应用。
具体的方法有:
gomobile: Go 语言官方支持的工具,用于在安卓和 iOS 上编译 Go 代码为本地应用。
go-android: 一个开源库,用于在安卓上运行 Go 语言代码。
go-gtk: 一个库,用于在安卓上使用 GTK+ 构建 GUI 应用。
这些项目允许开发人员在安卓上使用 Go 语言开发应用,但请注意,目前这些项目可能仍然处于试验阶段,不保证稳定性和性能。
Q4: Go语言的应用
Go语言由Google公司开发,并于2009年开源,相比Java/Python/C等语言,Go尤其擅长并发编程,性能堪比C语言,开发效率肩比Python,被誉为“21世纪的C语言”。
Go语言在云计算、大数据、微服务、高并发领域应用应用非常广泛。BAT大厂正在把Go作为新项目开发的首选语言。
Go语言应用范围:
1、服务端开发:以前你使用C或者C++做的那些事情,用Go来做很合适,例如日志处理、文件系统、监控系统等;
2、DevOps:运维生态中的Docker、K8s、prometheus、grafana、open-falcon等都是使用Go语言开发;
3、网络编程:大量优秀的Web框架如Echo、Gin、Iris、beego等,而且Go内置的 net/http包十分的优秀;
4、Paas云平台领域:Kubernetes和Docker Swarm等;
5、分布式存储领域:etcd、Groupcache、TiDB、Cockroachdb、Influxdb等;
6、区块链领域:区块链里面有两个明星项目以太坊和fabric都使用Go语言;
7、容器虚拟化:大名鼎鼎的Docker就是使用Go语言实现的;
8、爬虫及大数据:Go语言天生支持并发,所以十分适合编写分布式爬虫及大数据处理。
Q5: 如何配置go语言开发环境
1.1 Go 安装
Go的三种安装方式
Go有多种安装方式,你可以选择自己喜欢的。这里我们介绍三种最常见的安装方式:
Go源码安装:这是一种标准的软件安装方式。对于经常使用Unix类系统的用户,尤其对于开发者来说,从源码安装可以自己定制。
Go标准包安装:Go提供了方便的安装包,支持Windows、Linux、Mac等系统。这种方式适合快速安装,可根据自己的系统位数下载好相应的安装包,一路next就可以轻松安装了。**推荐这种方式**
第三方工具安装:目前有很多方便的第三方软件包工具,例如Ubuntu的apt-get、Mac的homebrew等。这种安装方式适合那些熟悉相应系统的用户。
最后,如果你想在同一个系统中安装多个版本的Go,你可以参考第三方工具GVM,这是目前在这方面做得最好的工具,除非你知道怎么处理。
Go源码安装
在Go的源代码中,有些部分是用Plan 9 C和ATT汇编写的,因此假如你要想从源码安装,就必须安装C的编译工具。
在Mac系统中,只要你安装了Xcode,就已经包含了相应的编译工具。
在类Unix系统中,需要安装gcc等工具。例如Ubuntu系统可通过在终端中执行sudo apt-get install gcc
libc6-dev来安装编译工具。
在Windows系统中,你需要安装MinGW,然后通过MinGW安装gcc,并设置相应的环境变量。
你可以直接去官网下载源码,找相应的goVERSION.src.tar.gz的文件下载,下载之后解压缩到$HOME目录,执行如下代码:
cd go/src
./all.bash
运行all.bash后出现"ALL TESTS PASSED"字样时才算安装成功。
上面是Unix风格的命令,Windows下的安装方式类似,只不过是运行all.bat,调用的编译器是MinGW的gcc。
如果是Mac或者Unix用户需要设置几个环境变量,如果想重启之后也能生效的话把下面的命令写到.bashrc或者.zshrc里面,
export GOPATH=$HOME/gopath
export PATH=$PATH:$HOME/go/bin:$GOPATH/bin
如果你是写入文件的,记得执行bash .bashrc或者bash
.zshrc使得设置立马生效。
如果是window系统,就需要设置环境变量,在path里面增加相应的go所在的目录,设置gopath变量。
当你设置完毕之后在命令行里面输入go,看到如下图片即说明你已经安装成功
图1.1 源码安装之后执行Go命令的图
如果出现Go的Usage信息,那么说明Go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了Go的安装目录。
关于上面的GOPATH将在下面小节详细讲解
Go标准包安装
Go提供了每个平台打好包的一键安装,这些包默认会安装到如下目录:/usr/local/go
(Windows系统:c:\Go),当然你可以改变他们的安装位置,但是改变之后你必须在你的环境变量中设置如下信息:
export GOROOT=$HOME/go
export GOPATH=$HOME/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
上面这些命令对于Mac和Unix用户来说最好是写入.bashrc或者.zshrc文件,对于windows用户来说当然是写入环境变量。
如何判断自己的操作系统是32位还是64位?
我们接下来的Go安装需要判断操作系统的位数,所以这小节我们先确定自己的系统类型。
Windows系统用户请按Win+R运行cmd,输入systeminfo后回车,稍等片刻,会出现一些系统信息。在“系统类型”一行中,若显示“x64-based
PC”,即为64位系统;若显示“X86-based PC”,则为32位系统。
Mac系统用户建议直接使用64位的,因为Go所支持的Mac OS X版本已经不支持纯32位处理器了。
Linux系统用户可通过在Terminal中执行命令arch(即uname
-m)来查看系统信息:
64位系统显示
x86_64
32位系统显示
i386
Mac 安装
访问下载地址,32位系统下载go1.4.2.darwin-386-osx10.8.pkg,64位系统下载go1.4.2.darwin-amd64-osx10.8.pkg,双击下载文件,一路默认安装点击下一步,这个时候go已经安装到你的系统中,默认已经在PATH中增加了相应的~/go/bin,这个时候打开终端,输入go
看到类似上面源码安装成功的图片说明已经安装成功
如果出现go的Usage信息,那么说明go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了go的安装目录。
Linux 安装
访问下载地址,32位系统下载go1.4.2.linux-386.tar.gz,64位系统下载go1.4.2.linux-amd64.tar.gz,
假定你想要安装Go的目录为 $GO_INSTALL_DIR,后面替换为相应的目录路径。
解压缩tar.gz包到安装目录下:tar zxvf go1.4.2.linux-amd64.tar.gz -C
$GO_INSTALL_DIR。
设置PATH,export PATH=$PATH:$GO_INSTALL_DIR/go/bin
然后执行go
图1.2 Linux系统下安装成功之后执行go显示的信息
如果出现go的Usage信息,那么说明go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了go的安装目录。
Windows 安装
访问Google Code 下载页,32
位请选择名称中包含 windows-386 的 msi 安装包,64 位请选择名称中包含 windows-amd64 的。下载好后运行,不要修改默认安装目录
C:\Go\,若安装到其他位置会导致不能执行自己所编写的 Go 代码。安装完成后默认会在环境变量 Path 后添加 Go 安装目录下的 bin 目录
C:\Go\bin\,并添加环境变量 GOROOT,值为 Go 安装根目录 C:\Go\ 。
验证是否安装成功
在运行中输入 cmd 打开命令行工具,在提示符下输入 go,检查是否能看到 Usage 信息。输入
cd %GOROOT%,看是否能进入 Go 安装目录。若都成功,说明安装成功。
不能的话请检查上述环境变量 Path 和 GOROOT 的值。若不存在请卸载后重新安装,存在请重启计算机后重试以上步骤。
第三方工具安装
GVM
gvm是第三方开发的Go多版本管理工具,类似ruby里面的rvm工具。使用起来相当的方便,安装gvm使用如下命令:
bash (curl -s -S -L )
安装完成后我们就可以安装go了:
gvm install go1.4.2
gvm use go1.4.2
也可以使用下面的命令,省去每次调用gvm use的麻烦: gvm use go1.4.2 --default
执行完上面的命令之后GOPATH、GOROOT等环境变量会自动设置好,这样就可以直接使用了。
apt-get
Ubuntu是目前使用最多的Linux桌面系统,使用apt-get命令来管理软件包,我们可以通过下面的命令来安装Go,为了以后方便,应该把
git mercurial 也安装上:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:gophers/go
sudo apt-get update
sudo apt-get install golang-stable git-core mercurial
homebrew
homebrew是Mac系统下面目前使用最多的管理软件的工具,目前已支持Go,可以通过命令直接安装Go,为了以后方便,应该把
git mercurial 也安装上:
brew update brew upgrade
brew install go
brew install git
brew install mercurial
什么软件可以写go语言的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于go开发app、什么软件可以写go语言的信息别忘了在本站进行查找喔。






