Golang指南:热门Golang框架,IDE和工具的列表

Golang指南:热门Golang框架,IDE和工具的列表

自推出以来,Google的Go编程语言(Golang)一直受到主流用户的欢迎。 在2016年12月的一项调查中,在3595名受访者中,有89%的人声称他们在工作中或工作外使用Go语言H 8 a编程。

此外,就专业知识和偏3 _ ? m L s好而言,Go在编程语言中排名最高。 2017年7月,Go; D在\"年度Tii F E Xobe年度编程语言\"中排D e T名第10,从去年的第55位跃升至第10位。

显然,Go吸引了来自各个领域的许多程序员和软件开发外包专业人士。 可以肯定地说,这是因为Go的易用性。

作为一种编译后的开源编Z Q 7 ] T 1 G程语言,Go使开发人员可以轻松构建简单,可靠且高效的软件。 它是更保守的语言(例如C和C ++)的创新和发展的产物。

使用Go,可以R G $ G - h减少代码键入的数量,并且在不牺牲性能的情况下编写强大的API变得+ ( [ ` t X C更加容? G : y C v J易。 专为可伸缩性和并发性而设计,Go使优化成为可能。 编译器可以在运行R Y t C时之前执行所有代码检查工作。

我们为Golang整理了一些顶级框架,IDE和工具,供您快速参考。 在浏览器上为其添加书签,以便您在使用Go!L r f 6 E B S t `时都能回来!

Golang框架

Web框架可帮助开发人员尽可能轻松,快速地构建应用程序。 Go还是相对较新的东西,因此使用具有足够文档的框架很重要。

这里有9个框架,可用于帮助您使用Go语言构建项目。

1.Revely i T A 3 :

Golang指南:热门Golang框架,IDE和工具的列表

作为Go的高生产率框架,Revel包括一个\"热代码重载\"工具,可让您在每次文件更改时重建项目。 它还包含w ! g ) M X l i S各种全面的高性能功能,因此您无需查找外部库即可集成到框架中。S Y !

2.Beego

Beego是一个成熟的MVC框架,具有自己的日志记录库,ORM和Web框架。 您无需查找和安装第三方库。 它具有一个称为k ~ N - L =Bee工具的内置工具,该工具可以监视代码更改并在检测到更改时运行任务。

Beego可以为您节省很多时间,尤其是在您确定日志记录框架或应用程序结构的项目开始时B u W P : @ c 2 $

Golang指南:热门Golang框架,IDE和工具的列表

3.Martinina

Martinina受Sina8 A . S J R 3tra的启发,是一个非常, 6 D 0轻便但功能强大的框架。 它是为f e x z在Golang中编写模块化We_ a } !b应用程序和服务而开发的。

它采用非侵入式设计,使用起来快速2 V Z ` N u !简便,并包含各种处理程序和中间件。 它能够以HTML5模式为AngularJS应用执行基本路由,异常处理和默认文档服务。

Golang指南:热门Golang框架,IDE和工具的列表

马蒂尼(Martini)最好的功能是使用反射,它( T U { + e W使开发人员可以动态地将数据插入处理程序函数并添加新服务。 Martii H 5 ] ` { .ni也与http.HandlerFunc接口完全兼容。 但是不利的是,Martini框架不再得到维护。

Golang指南:热门Golang框架,IDE和工具的列表

4.Gin

Gin Gonic是一个Web框架,具有类似y t B u : - h于martini的API,但性能要好得多。 如果您以前使用过马提尼酒,那么您会熟悉Gin Gonic。 否则,您只需要10分^ k B ) Y z ,钟即可学习GinA 7 U U = ^ * F。 就这么简单!U 3 Q ` b F $ C

Gin Gg 2 p | ~ q Qonic是一个简约框架,仅包含最基本的库和功能。 这使其非常适合开发高性能RES. k s 2 7 E n , MT API。 另外,它比马提尼酒快40倍。

您可以添加中间件,嵌套组,JSON验证和呈现s j u A T k,但是它仍保持最佳性能。 GiP O S p e ) m rn Gonic使用Go最快的HTTP路由器httprouteO T z 9 w C E Tr。

Golang指南:热门Golang框架,IDE和工具的列表

5.Buffa p 4 # talo

使用Buffalo使用Go构建新的Web应用程序既快速又简单。 当您开始一个新项目时,Buffalo已经为您提供了从前端到后端开发的所有设置。

# ! / - ! s S Z .具有热重载功能,这意味着dev命令将自动监视.go和.html文件。 然后它将为您重建并重新启动您的二进制文件。 只需运行ds p p F z |ev命令,您就可以立即看到所做的更改!

Buffalo不仅仅是一个框架,而是一J 5 M | W /个整体的Web开发生态系统,可让您直接构建应用程序。

Golang指南:热门Golang框架,IDE和工具的列表

6.Goji

Goji是一个p k h轻量级且快速的Web框架,具有可组合性和n 4 B r简单性是其首要任务。 类似于net / http.ServeMux,Goji是一个简约的HTTP请求多路复用器。 它包括Einhorn支持,使您可以在Goji中获 a ;得websocket支持。

其他功能包括URL模式,可重新配置的中间件堆栈,正常关闭+ b Z Q $ z K等。 枸杞可用于生产中,@ k 5已为多个组织提供了数十U b * v Y `亿个请求。

Golang指南:热门Golang框架,IDE和工具的列表

7.Tiger Dropnic

Tiger Dropnic受Dropwizard的M F @ a & r c = Y启发,是一个Go框架,用于开发JSON WK ~ Jeb服务和构建高性能REST API。 为了忠实于Golang的原则,Tiger Tonic努力使功能保持正交。

Tiger Tonic的缺点是在构建大型后端应用程序方面的不足。

Golang指南:热门Golang框架,IDE和工具的列表

8. Gocraf5 e S x et

Gocraft是另一个功能强大但极简的框架,可提供快速且可扩展的路由性能。 它将路由从标准h P R ; R B L y库添P r P r j v l加到net /X R d 8 http包。

Gocraft是一个Go mux和中间件软件包,具有转换和反射功能,因此您可以静态键入代码。 您还可以使用内置的中间件添加可选功能或编写自己的中间件。

由于性能始终是开o # J发人员M 7 J +最关心的问题之一,因此Gocraft是开发人员的绝佳选择。 使用Gocraft框架编写后端网络应用程序t n ^ ^非常容易。

Golang指南:热门Golang框架,IDE和工具的列表

9.Mango

尽管Mango的创建者Paul Bella7 3 C s X 9 :my并未对其进行积极维护,但许多Go用户仍在使用它。 Mango的伟大之处在于其模块化。 您可以从各种库中选择要包含在项目中的库。

Mango使您可以尽可能快速,轻松地构建HTTP功能的可重用模块。 它将中间件和应用程序列表编译到单个http服务器对象中,以使您的代码保持独立。

Golang指南:热门Golang框架,IDE和工具的列表

Golang集成开发环境(IDE)

用于Golang的IDE与Go语言一起变得越来越流行。 尽管许多开发人员仍然喜欢使用文本编辑器,但许多开发人员也喜欢使用IDE。

如果您正在使用广泛的代码库[ * O S ; ! = O进行大型项目,IDE可以帮助您轻松组织代码并进行导航o : L . Y c 3。 此外,IDE可以帮助您测试代码并进行相应的编辑。

以下是可与Golang完美搭配的顶级IDEB a R t ( I

1.Goland

软件开发公司JetBrainb m ? G p 3 f ! Us发布了另一个可靠的IDE,但这次是针对Golang。 Gogland是一种商业IDE,可为Go开发人员提供强大的人体工程学环境。 它还f q t具有编码帮助,调试器和集成终端。

由于一家老牌公司创建了Gogland,因此它具有广泛的IntelliJ插件生态系统,如果您需要更多工具,可以在其中获得更多工具。

Golang指南:热门Golang框架,IDE和工具的列表

2. Visual Studio Code

Visual Studio Code由Microsoft创建,是功能齐全的开源IDE和代码编辑器,支持多种编程语言。 它具有Inf P YtelliSense的智能完成功能; 使用断点,调用堆栈和交互式控制台进行调试; 内置的Git集成; 以及分层文件夹和文件浏览器。

作为另一个流行的IDE,Visual Studio Code具有一个由Go开发人员组成的支持社区,这些社区定期进行贡献。 使用Visuale z h R 6 4 p u St} T Y 7 Iudio Code,您可以使用一系列可用插件来扩展功能。

Golang指南:热门Golang框架,IDE和工具的列表

3. LiteIDE

LiteIDE是5= 8 X L .年前创建的首批以Golang为中心的开源IDE之一。 作为具有独特外观的B { 5 , ( a PC ++ Qt应用程序,LiteIDE提供代码管理,可配置的构建命令,gdb和Delve调试器,使用W7 / I fordApi自动完成和主题化,基于MIME类型的系统等。 它还提供JSON和Golak 0 V R F Ung支持。

Golang指南:热门Golang框架,IDE和工具的列表

4.Wide

Wide是面向Golaf T Z S E Gng程序员的基于Web的IDE。 专为协作开发而设计,最适合团队和网络开发机构。 广泛的功能包括代码突出显示9 o _ } a X,调试,Git集成等。

I . L为Wide是由中国开发人员创建和维护的,所以它的大多数文档和支持都是中文的。

Golang指南:热门Golang框架,IDE和工具的列表

5.带有go-plus插件的Atom

如果您已经在使用Atom,则可以通过名为go-plB I U % Wus的开源软件包v q U来改善Golang中的3 $ N - D代码编辑体验。 使用go-plus,您可以获得有关语法和构建错误的即时,实时反馈。

Golang指南:热门Golang框架,IDE和工具的列表

go-plus软件包在Atom中提供了几乎所有的Golang支持。 它也可以用于工具,构建流程,短绒,兽医和v A C 3 j 覆盖工具。

Go-pluv * { B p rs还包括各种代码段和功能,例如使用gocode自动完成} n 0功能,使用gofmt进行代码格式化,goret= e u ] T v h K Purns| n ! z 0 ] k或goimports等。

Golang指南:热门Golang框架,IDE和工具的列表

6.使用GoCli4 8 P )pse的Eclipse

由于Eclipse是广泛流行的IDE,因此已经为其创建了许多插件。 GoClipse是用于Golang的Eclipse插件,可) G 2提供Go源代码编辑以及可配置的语法突出显示,自动缩进和大括号补全。

GoClipse还可以用作项目向导和生成器,可以立即报告语法和生成错误。 GoClipse的其他功能4 ( )包括调试功能w y $ b #和代码辅助。

Golang指南:热门Golang框架,IDE和工具的列表

7.使用GoSublime升华文本

SH A h X zublime Text是另一个复杂的文本编辑器,拥有大量的贡献者和开发M , )者社区。 因此,已为此IDE创建了h [ @ ^各种各样的插件w = @

GoSublime是Sublime Text 3的Golang插件,可提供G] 0 B 0ocode的代码完成功能,在连接代码时检查棉绒/语法,自动添加和删除软件包导入等。

Golang指南:热门Golang框架,IDE和工具的列表

8. Vim和vim-go插件

Vim是一个免费的开源IDE,可以使用各种插件进行自定义和配置。 如果您是Golang程序员,则可以P Y 8 u ~将Vim与Fatih Arsd K Z 6 nlan创建的vim-go插件一起d $ _ S 7 U t使用。 Vim-go自动安装所有必需的二进制K X C O n文件g e V & I h [ u &,以为Golang提供平滑的Vim集成。

Vim-go是用于编写和开发Go的功能强大的插件套件。 它的功能包括高级源代码分析,添加和删除导入路径,多个3rd Liner支持,goto定义,快速文件执行等等。

Vim-go是高度可定制的,具有可以根据您的需要启用或禁用的各个功能H 0 X p z x ; q

Golang指南:热门Golang框架,IDE和工具的列表

9.Komo1 R I ~ { ^ % 5do

Komodo是功] ( P /能齐全的Go语言IDE,它支持其他编程语言,例如Nj m _ hode.js,Python,Ruby,Perl等。 使用此Go IDE,您可以轻松编写p $ k G干净的代码。 它的功能包括高级代码编辑器,智能代码完成,语法检查,版本控制和单元测试,以及Go代码智能功能,可用于代码浏览和代码提示。

Komodo的优点在于,它对于团队协作非常有效,因为多个开发人员可以同时编辑文档。 只需一个许可证,即可将Komodo安装在Mac,Windows或Linux上。

Golang指南:热门Golang框架,IDE和工具的列表

10.带有Go语言的IntelliJ IDEA(golang.org)支持插件

Intellif ! 7J IDEA(与JetBrains相同的公司)是可以通过Go语言支持插件与Golang一起使用的ID~ J %E。 如果要将IntelliJ IDEb ~ 1 LA与GolanH S ` ] { z _ a Tg一起使用,则需要安装此插件,尽管与Gogland相比功能有限。

Golang指南:热门Golang框架,IDE和工具的列表

Golang工具

Golang工具可用于各种项目和Web应用程序。 开发人员可以使用这些有用3 3 f T w s的工具尽可能快速,轻松地编写代t [ O M q , / s码和构建应用程序。

以下是热门Z } R的Golang工具列表,供您参考。

1. Apf F ^icompat? $ Y

Apicompat是一种新的Go语言工具,可帮助开发人员检测L } Y向后,不兼容的更改和导出的声明。

使用Apicompat,您可以避免误报。 但是,Apicompat不能检测到所有向后不兼容的更改。 库作者仍然需要交换参数参数和其他更改。

Golang指南:热门Golang框架,IDE和工具的列表

2. ChecD R O l D + V Lkstyle

受Java Checkstyle启发,CheckstyleT q a p for Golang可打印出编码风格建议。 开发人员] $ ` } P l A d还可以通过它检查文件的行/功能和行/N Y U * } 3 s O x参数号,然后用户可以对其进行配置。

Golang指南:热门Golang框架,IDE和工具的列表

3.Depth

深度是另一个有用的Golang工具,可帮助Web开发人员检索和可视化Go源代码依赖项树。 它可以用作独立的命令行应用程序,也可以用作您自己项目中的特定程序包。 您可以通过在解析之前简单地在树上设置适当= m s f的标志来添加自定义项。

Golang指南:热门Golang框架,IDE和工具的列表

4.Go-swagger

该工具包包含多种功能^ n C v。 Go-Swagger是Swagger 2.0的实现,可以序列化和j ) p { _ ~ ? k反序列化swagger规范。 它是RESTful API的简约但功能强大的代表。

使用Go-Swagger,您可以扩大规格文档,针对jsonschema和其他额外规则进行验证。 其- g n ~他功能包括代码生成,A w S Z Q j (基于swagger规范的API生成,基于代码的规范文档生成,扩展的字符串格式等等。

Golang指南:热门Golang框架,IDE和工具的列表

5.Go Meta Linter

如果您需要同时运行Go lint工具并标准化其输出,那么Go Meta Linter正是可以为您做的% v z。 Go Meta Linter旨在与文本编辑器或IDE集成一起使用( B = N { 5 @ S v,例如Sublime Linter插件,Atom go-plus软件包,Emacs Flycheck检查器,Vim / Neovim和Go for Visual Studio| V y m u P Code。 它还支持各种各样的linter和配置S H S H p ,Y V 0 : L件,例如JSON。

Golang指南:热门Golang框架,IDE和工具的列表

6. Go-Callvis

Go-cay A O j 4 h t -llvis是一- j / % i / V { E个网络开发工具,可让您以Graphviz的点格式可视化Go程序的调用图。 当使用复杂的代码库构建大型项目时,此工具特别有用。 当您想了解其他开发人员的代码结构或重建其他人的项目时,这也很有用。

使用go-callvis,开发人员可以将重点放在程序中的特定程序包W g n v 上。 根据包装将功能分组,并根据类型将方法分组; 并将包n F T s j限制为自定义路径前缀,而忽略包含它们的包。

Golang指南:热门Golang框架,IDE和工具的列表

7.GonativeR K Y v

Gonative是一个简单的Golang工具,可让l s h F您使用本机库构建Go工具链,这些库可以交叉编译,同时仍使用启用了Cgo的stdlib软件包版本。

Gonative下载每个平台的二进制发行版,并将其_ ` 2 H = G库复制到正确的位置。 同时,Gonative设置正确的mod时间,以避免不必要的重建。

不幸的是,GG n f s m } ponatF ] ( Z `ive尚未在Windows上经过测试。 此外,没有提供Linux / arm支持。

Golang指南:热门Golang框架,IDE和工具的列表

8.Grapes

Grapes是一种轻量级的Golang工具,旨在通过ssh轻松分发命令w { r 8 Y ) / @ a。 它由Yaron Sumel编写并积极维护。

Grapes将很快支持完整的主机密钥验证,因此开发人员应该注意这一点。

Golang指南:热门Golang框架,IDE和工具的列表

9[ J B D +. GP 3 : 8 O T .osimple

这个Golang linter的伟大之处在于它专注于简化Go源代码。 Gosimple始终以最新的Go版本为目标,因此它需要Go 1.6版或更高版本。

如果有新的_ h : + A 8 X Z vGo版本,gosimple将建议最简单的方法来避免* I } k ^ ? w , k复杂的构造。

Golang指南:热门Golang框架,IDE和工具的列表

10.Go Vendor

Go Vendo} I Z O r /r是与标准Vendor文件夹一起使用的Golang工具。 它允许开发人@ _ ?员使用govendor add / update从$ GOPATH复制现有的依赖项。 您还可以使用govendor提取直接拉出新的依赖项或更新现有的依赖项,并通过govendor迁移来移动旧系统。

Golang指南:热门Golang框架,IDE和工具的列表

总结

y K p t r = i果您来自JS / Node背景,则需要学习一些新的编程概念,例如协程,通道,带有编译的严格类型,接口D l x N 9 : I,结构,指针以及其他一些区别。 但是,一旦陷入困境,您会发现Golang更加易于使用和快速使用。

(本文翻译自Quintin G.的文章《Golang Guide: A List of Top Golang FR L | | T 0rameworks, IDEs & Tools》,参考:https://medium.com/@quintinglvr/golang-guide-a-list-of-top-o E g C ! ,golang-frameworks-ides-tools-e7c7866e96c9+ P w . c k g)

上一篇

女星发量多都是假发片功劳?看宋轶一撮头发用的发卡数量,打脸了

下一篇

“五一”出游高峰可能不会出现 但短途游有望加速回暖

你也可能喜欢

  • 暂无相关文章!

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片
返回顶部