go语言开发用什么软件 go 开发语言

go语言支持开发桌面级应用吗?go 可以开发桌面应用 , 但并不是很舒适 。
可以使用的GUI库有:
1、goqt,LiteIDE作者出品 , Go和QT的绑定,还未发布
2、go.uik , 纯Go实现的并发UI工具
3、walk,Windows Application Library Kit
4、gform,Windows GUI framework
目前的话walk用得比较多
不过go的GUI库用起来没有C#、C/C的那么顺手 。
这个问题不久之后应该会有所改善,毕竟用Go开发桌面的需求在不断增加 。
目前我采用的是用go http 做后端,Webkit HTML5 做界面,表现力很好,前端不需要学习新知识,一般的管理类应用都能搞定 。
Go语言有什么好用的IDE吗我喜欢jetbrains系列的IDE go插件 。不过我要说的是这个问题主要看你的观点如何 。
说eclipse:
构建方式是使用go install 命令,每一次编译运行都是go install 。这样的好处就是如果你有很多的包,下载下来并没有编译,这样每次编译速度是很快的 。而且(?。ゞo 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文件)
【go语言开发用什么软件 go 开发语言】资源文件等都放在src目录同级,编译文件放在bin,引用直接../引用 。
软件推荐丨Fyne —— Go 语言开发的易用的 UI 工具包Fyne 是一个 Go 语言开发的易用的 UI工具包,提供基于 OpenGL 的跨平台图形界面应用开发支持 。
示例代码:
示例效果:
完整的工具包:
浅色主题:
点击下方链接,获取软件下载地址↓↓↓
Fyne首页、文档和下载 - Go 的 GUI 框架开发包 - 开源中国
go语言的webengine叫什么Java教程
Linux入门
更多
首页
?
Go语言WEB框架(Gin)详解
在 Go语言开发的 Web 框架中,有两款著名 Web 框架分别是 Martini 和 Gin,两款 Web 框架相比较的话,Gin 自己说它比 Martini 要强很多 。
Gin 是 Go语言写的一个 web 框架,它具有运行速度快,分组的路由器,良好的崩溃捕获和错误处理,非常好的支持中间件和 json 。总之在 Go语言开发领域是一款值得好好研究的 Web 框架,开源网址:
首先下载安装 gin 包:
go get -u github.com/gin-gonic/gin
一个简单的例子:
package main
import "github.com/gin-gonic/gin"
func main() {
//Default返回一个默认的路由引擎
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
//输出json结果给调用方
c.JSON(200, gin.H{
"message": "pong",
})
})
r.Run() // listen and serve on 0.0.0.0:8080
}
编译运行程序,打开浏览器,访问页面显示:
{"message":"pong"}
gin 的功能不只是简单输出 Json 数据 。它是一个轻量级的 WEB 框架 , 支持 RestFull 风格 API,支持 GET,POST,PUT , PATCH,DELETE,OPTIONS 等 http 方法,支持文件上传 , 分组路由 , Multipart/Urlencoded FORM,以及支持 JsonP,参数处理等等功能,这些都和 WEB 紧密相关,通过提供这些功能,使开发人员更方便地处理 WEB 业务 。
Gin 实际应用
接下来使用 Gin 作为框架来搭建一个拥有静态资源站点 , 动态 WEB 站点 , 以及 RESTFull API 接口站点(可专门作为手机 APP 应用提供服务使用)组成的,亦可根据情况分拆这套系统,每种功能独立出来单独提供服务 。
下面按照一套系统但采用分站点来说明,首先是整个系统的目录结构 , website 目录下面 static 是资源类文件,为静态资源站点专用;photo 目录是 UGC 上传图片目录,tpl 是动态站点的模板 。
当然这个目录结构是一种约定,可以根据情况来修改 。整个项目已经开源 , 可以访问来详细了解:具体每个站点的功能怎么实现呢?请看下面有关每个功能的讲述:
静态资源站点
一般网站开发中,我们会考虑把 js,css,以及资源图片放在一起,作为静态站点部署在 CDN,提升响应速度 。采用 Gin 实现起来非常简单,当然也可以使用 net/http 包轻松实现,但使用 Gin 会更方便 。
不管怎么样,使用 Go 开发 , 我们可以不用花太多时间在 WEB 服务环境搭建上,程序启动就直接可以提供 WEB 服务了 。
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
router := gin.Default()
// 静态资源加载,本例为css,js以及资源图片
router.StaticFS("/public", http.Dir("D:/goproject/src/github.com/ffhelicopter/tmm/website/static"))
router.StaticFile("/favicon.ico", "./resources/favicon.ico")
// Listen and serve on 0.0.0.0:80
router.Run(":80")
}
首先需要是生成一个 Engine,这是 gin 的核心,默认带有 Logger 和 Recovery 两个中间件 。
router := gin.Default()
StaticFile 是加载单个文件,而 StaticFS 是加载一个完整的目录资源:
func (group *RouterGroup) StaticFile(relativePath, filepath string) IRoutes
func (group *RouterGroup) StaticFS(relativePath string, fs http.FileSystem) IRoutes
这些目录下资源是可以随时更新,而不用重新启动程序 。现在编译运行程序,静态站点就可以正常访问了 。
关于go语言开发用什么软件和go 开发语言的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读