Win11系统下搭建Go lang开发环境更换国内源并且体验宇宙最快框架Iris

简介: 最近有同学开始尝试接触Go lang,拥抱新技术永远都会是一个好习惯,之前的一篇文章介绍了[如何在Mac os系统下配置Go lang开发环境](https://v3u.cn/a_id_88),这次我们在Win10系统下进行配置,并且更换国内的安装源,最后再和“全宇宙最快的web框架”--Iris亲密接触一下,对于Iris可能很多朋友并不熟悉,一般Go lang在web开发领域相对著名的框架比如Beego或者Gin都名声在外,这里推荐Iris的原因也并不是因为它源于古希腊女神(彩虹女神)的炫酷名字,而是因为它在goroutine的加持下强大的Go http server的性能。

最近有同学开始尝试接触Go lang,拥抱新技术永远都会是一个好习惯,之前的一篇文章介绍了如何在Mac os系统下配置Go lang开发环境,这次我们在Win10系统下进行配置,并且更换国内的安装源,最后再和“全宇宙最快的web框架”--Iris亲密接触一下,对于Iris可能很多朋友并不熟悉,一般Go lang在web开发领域相对著名的框架比如Beego或者Gin都名声在外,这里推荐Iris的原因也并不是因为它源于古希腊女神(彩虹女神)的炫酷名字,而是因为它在goroutine的加持下强大的Go http server的性能。

首先进入网站下载win10安装包:https://studygolang.com/dl

比之去年,go lang又前进了两个版本,目前的稳定版是1.14.4,发展势头可谓迅猛,但是这里建议还是选择go1.12.12版本,因为很多框架还不支持1.14.4,所以这里推荐的通用的稳定版本号是:go1.12.12.windows-amd64.msi

安装目录推荐安装在c:/go即可。

安装成功后,在Win10的环境变量中,系统应该会自动配置 GOROOT、GOPATH、GOBIN,请确保您的系统中配置了这三个变量,GOPATH可以理解为开发目录,GOROOT是安装目录,GOBIN则是可执行命令目录

此时如果在win10命令行输入命令

go version  
  
go version go1.12.12 windows/amd64

可以打印出版本号的话,说明安装成功。

随后是编辑器的推荐,对于初学者来说,这里还是力推vscode,因为它简单灵活,不需要各种复杂解释器的配置,只需要安装 CodeRunner和Go这两个插件就足以支撑你敏捷编写go lang了

重启vscode

新建test.go

package main  
import "fmt"  
  
func main() {  
    fmt.Println("hello go!")  
}

右键 "Run Code"

编辑器配置好以后,现在我们尝试安装一些基于Go lang的三方库,一般情况下我们使用 go get 来进行安装,它在使用上有点类似于python的pip,但是令人遗憾的是,国内用户无法直接使用它,因为被屏蔽了,所以在安装Iris之前,我们需要针对go get来更换国内源,这里我们使用阿里云的源,在命令行输入下面两个命令

set GO111MODULE=on  
  
set GOPROXY=https://mirrors.aliyun.com/goproxy

开启GO111MODULE模块然后指定代理地址https://mirrors.aliyun.com/goproxy,需要注意的是,如果重启了电脑,你指定源会被复位,所以最好将这两个变量也加入到环境变量的设置中,可以确保永久生效。

之后就可以安心的使用 go get 来安装彩虹女神Iris了

go get -v -u github.com/kataras/iris

阿里云cdn镜像的速度还是非常给力的

安装好以后,可以在go的安装目录新建一个项目文件夹,编写main.go文件

package main  
   
import (  
    "github.com/kataras/iris"  
    "github.com/kataras/iris/middleware/logger"  
    "github.com/kataras/iris/middleware/recover"  
)  
   
func main() {  
    app := iris.New()  
    app.Logger().SetLevel("debug")  
    app.Use(recover.New())  
    app.Use(logger.New())  
    app.Get("/", func (ctx iris.Context){  
        ctx.HTML("你好,女神")  
    })  
   
    app.Run(iris.Addr(":8081"), iris.WithoutServerError(iris.ErrServerClosed))  
}

这里我们让Iris跑在8081端口上,进入main.go所在的目录,敲入命令

go run main.go

在编译过程中,可能会报错一些依赖库未找到,此时不用担心,反复执行go run main.go命令进行依赖库的下载,最后把所有依赖都安装好后,就可以编译成功,最后运行

打开浏览器,访问http://localhost:8081/

那么关于Iris的安装和配置就到这里,以后会分享一些更多关于Iris的开发经验。

相关文章
|
12月前
|
人工智能 测试技术 Go
Go 语言的主流框架
本文全面解析了 Go 语言主流技术生态,涵盖 Web 框架、微服务、数据库工具、测试与部署等多个领域。重点介绍了 Gin、Echo、Beego 等高性能框架,以及 gRPC-Go、Go-Micro 等微服务组件。同时分析了 GORM、Ent 等 ORM 工具与测试部署方案,并结合场景提供选型建议,助力开发者构建高效稳定的 Go 应用。
2663 0
|
10月前
|
消息中间件 缓存 NoSQL
Redis各类数据结构详细介绍及其在Go语言Gin框架下实践应用
这只是利用Go语言和Gin框架与Redis交互最基础部分展示;根据具体业务需求可能需要更复杂查询、事务处理或订阅发布功能实现更多高级特性应用场景。
532 86
|
9月前
|
JavaScript 前端开发 Java
【GoWails】Go做桌面应用开发?本篇文章带你上手Wails框架!一步步带你玩明白前后端双端的数据绑定!
wails是一个可以让你使用Go和Web技术编写桌面应用的项目 可以将它看作Go的快并且轻量级的Electron替代品。可以使用Go的功能,并结合现代化UI完成桌面应用程序的开发
1611 5
|
9月前
|
开发框架 前端开发 Go
【GoGin】(0)基于Go的WEB开发框架,GO Gin是什么?怎么启动?本文给你答案
Gin:Go语言编写的Web框架,以更好的性能实现类似Martini框架的APInet/http、Beego:开源的高性能Go语言Web框架、Iris:最快的Go语言Web框架,完备的MVC支持。
720 1
|
开发框架 JSON 中间件
Go语言Web开发框架实践:路由、中间件、参数校验
Gin框架以其极简风格、强大路由管理、灵活中间件机制及参数绑定校验系统著称。本文详解其核心功能:1) 路由管理,支持分组与路径参数;2) 中间件机制,实现全局与局部控制;3) 参数绑定,涵盖多种来源;4) 结构体绑定与字段校验,确保数据合法性;5) 自定义校验器扩展功能;6) 统一错误处理提升用户体验。Gin以清晰模块化、流程可控及自动化校验等优势,成为开发者的优选工具。
|
开发框架 安全 前端开发
Go Web开发框架实践:模板渲染与静态资源服务
Gin 是一个功能强大的 Go Web 框架,不仅适用于构建 API 服务,还支持 HTML 模板渲染和静态资源托管。它可以帮助开发者快速搭建中小型网站,并提供灵活的模板语法、自定义函数、静态文件映射等功能,同时兼容 Go 的 html/template 引擎,具备高效且安全的页面渲染能力。
|
开发框架 JSON 中间件
Go语言Web开发框架实践:使用 Gin 快速构建 Web 服务
Gin 是一个高效、轻量级的 Go 语言 Web 框架,支持中间件机制,非常适合开发 RESTful API。本文从安装到进阶技巧全面解析 Gin 的使用:快速入门示例(Hello Gin)、定义 RESTful 用户服务(增删改查接口实现),以及推荐实践如参数校验、中间件和路由分组等。通过对比标准库 `net/http`,Gin 提供更简洁灵活的开发体验。此外,还推荐了 GORM、Viper、Zap 等配合使用的工具库,助力高效开发。
|
存储 JSON Go
PHP 日志系统的最佳搭档:一个 Go 写的远程日志收集服务
为了不再 SSH 上去翻日志,我写了个 Go 小脚本,用来接收远程日志。PHP 负责记录日志,Go 负责存储和展示,按天存储、支持 API 访问、可远程管理,终于能第一时间知道项目炸了。
389 10
|
开发框架 前端开发 Go
eino — 基于go语言的大模型应用开发框架(二)
本文介绍了如何使用Eino框架实现一个基本的LLM(大语言模型)应用。Eino中的`ChatModel`接口提供了与不同大模型服务(如OpenAI、Ollama等)交互的统一方式,支持生成完整响应、流式响应和绑定工具等功能。`Generate`方法用于生成完整的模型响应,`Stream`方法以流式方式返回结果,`BindTools`方法为模型绑定工具。此外,还介绍了通过`Option`模式配置模型参数及模板功能,支持基于前端和用户自定义的角色及Prompt。目前主要聚焦于`ChatModel`的`Generate`方法,后续将继续深入学习。
2057 7
|
存储 开发框架 Devops
eino — 基于go语言的大模型应用开发框架(一)
Eino 是一个受开源社区优秀LLM应用开发框架(如LangChain和LlamaIndex)启发的Go语言框架,强调简洁性、可扩展性和可靠性。它提供了易于复用的组件、强大的编排框架、简洁明了的API、最佳实践集合及实用的DevOps工具,支持快速构建和部署LLM应用。Eino不仅兼容多种模型库(如OpenAI、Ollama、Ark),还提供详细的官方文档和活跃的社区支持,便于开发者上手使用。
3143 8

推荐镜像

更多