「测试开发全栈化-Go」(1) Go语言基本了解

「测试开发全栈化-Go」(1) Go语言基本了解,第1张

作为一个测试,作为一个测试开发, 全栈化+管理 是我们未来的发展方向。已经掌握了Java、Python、HTML的你,是不是也想了解下最近异常火爆的Go语言呢?来吧,让我们一起了解下。

Go 是一个开源的编程语言 ,它能让构造简单、可靠且高效的软件变得容易。

Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。这三个人都是计算机界的大神,有的参与了C语言的编写,有的还是数学大神,有的还获得了计算机最高荣誉-图灵奖。

接下来说说 Go语言的特色 :

简洁、快速、安全

并行、有趣、开源

内存管理、数组安全、编译迅速

Go语言的用途 :

Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。

对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于 游戏 服务端的开发而言是再好不过了。

Go语言的环境安装:

建议直接打开 https://golang.google.cn/dl/ 官方地址因为墙的原因打不开

因为我用的是windows系统,这里主要讲下Windows系统上使用Go语言来编程。

Windows 下可以使用 .msi 后缀(在下载列表中可以找到该文件,如go1.17.2.windows-amd64.msi)的安装包来安装。

默认情况下 .msi 文件会安装在 c:Go 目录下。你可以将 c:Gobin 目录添加到 Path 环境变量中。添加后你需要重启命令窗口才能生效。个人建议还是安装到 Program Files文件夹中。

使用什么开发工具来对Go语言进行编写:

个人建议用VS code, 也可以用Sublime Text来编辑。如果你之前看了我讲的HTML语言的学习,肯定已经下载了VS code. 那么这时你需要在VS code中下载Go语言的扩展插件。

这里有一个巨大的坑,就是在下载Go的插件和依赖包时,会提示一些包没有。主要是因为下载的依赖包部分被墙了,只能想别的办法去下载。

建议参考网页:

https://blog.csdn.net/qq_40876767/article/details/105658433

解决vscode中golang插件安装失败方法

在学习go的过程中,使用的是vscode,但是一直提示安装相关插件失败,然后上网查方法,基本上是叫你建立golang.org目录什么的,结果全是错的,而且都是抄袭,很烦。无意之中看到一位博主分享的方法,他也是饱受上述的垃圾博文困扰,然后找到了解决方法,这里向他致敬,秉着让更多人看到正确解决方法的心,我写下正确的解决方法,希望对你有所帮助,也可以点开原博主链接参考:https://www.cnblogs.com/xll970105/p/11906899.html

Go有一个全球模块代理,设置代理再去安装golang的插件,就可以安装成功了。步骤有,首先Windows用户打开Powershell,一个蓝色的界面,注意不是cmd!不知道的直接打开window下面的搜索,然后输入powershell,搜索出来就可以了。

$env:GO111MODULE=“on”

$env:GOPROXY=“https://goproxy.io”

go env -w GOPROXY=https://goproxy.io,direct

go env -w GOPRIVATE=*.corp.example.com

然后我们打开VsCode界面,下面会提示安装插件,我们选择Install ALL,就会安装成功

当你在运行Go语言程序时,提示所有的插件包都已经安装成功了时,就可以正常使用了,要不然一堆报错会让你非常心烦。

好了,今天先到这里,晚安、下班~

Java教程

Linux入门

更多>>

首页

Go语言WEB框架(Gin)详解

在 Go语言开发的 Web 框架中,有两款著名 Web 框架分别是 Martini 和 Gin,两款 Web 框架相比较的话,Gin 自己说它比 Martini 要强很多。

Gin 是 Go语言写的一个 web 框架,它具有运行速度快,分组的路由器,良好的崩溃捕获和错误处理,非常好的支持中间件和 json。总之在 Go语言开发领域是一款值得好好研究的 Web 框架,开源网址:https://github.com/gin-gonic/gin

首先下载安装 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

}

编译运行程序,打开浏览器,访问http://localhost:8080/ping页面显示:

{"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 是动态站点的模板。

当然这个目录结构是一种约定,可以根据情况来修改。整个项目已经开源,可以访问来详细了解:https://github.com/ffhelicopter/tmm具体每个站点的功能怎么实现呢?请看下面有关每个功能的讲述:

静态资源站点

一般网站开发中,我们会考虑把 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

这些目录下资源是可以随时更新,而不用重新启动程序。现在编译运行程序,静态站点就可以正常访问了。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/372903.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存