背景介绍

Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。

谷歌资深软件工程师罗布·派克(Rob Pike)表示,“Go让我体验到了从未有过的开发效率。”派克表示,和今天的C++或C一样,Go是一种系统语言。他解释道,“使用它可以进行快速开发,同时它还是一个真正的编译语言,我们之所以现在将其开源,原因是我们认为它已经非常有用和强大。”

功能
  • Google对Go寄予厚望。其设计是让软件充分发挥多核心处理器同步多工的优点,并可解决面向对象程序设计的麻烦。它具有现代的程序语言特色,如垃圾回收,帮助程序设计师处理琐碎和重要的内存管理等问题。Go的速度也非常快,几乎和C或C++程序一样快,且能够快速制作程序。
  • Go的网站就是用Go所建立,但Google有更大的野心。该软件是专为构建服务器软件所设计(如Google的Gmail)。Google认为Go还可应用到其他领域,包括在浏览器内执行软件,取代JavaScript的角色。
    。。
特色
  • 简洁
  • 快速
  • 安全
  • 并行
  • 有趣
  • 开源
  • 内存管理
  • 数组安全
  • 编译迅速
Iris介绍
  • 编写一次并在任何地方以最小的机器功率运行,如Android、ios、Linux和Windows等。它支持Google Go,只需一个可执行的服务即可在所有平台。
  • Iris以简单而强大的api而闻名。 除了Iris为您提供的低级访问权限。 Iris同样擅长MVC。 它是唯一一个拥有MVC架构模式丰富支持的Go Web框架,性能成本接近于零。
  • Iris为您提供构建面向服务的应用程序的结构。 用Iris构建微服务很容易。
Iris 作者如是说

Go是一个很棒的技术堆栈,用于为Web应用程序构建可扩展的,基于Web的后端系统。

当您考虑构建Web应用程序和Web API,或者只是在Go中构建HTTP服务器时,您是否会想到标准的net/http包? 然后,您必须处理一些常见情况,如动态路由(a.k.a参数化),安全性和身份验证,实时通信以及net/http无法解决的许多其他问题。

net/http包不够完整,无法快速构建设计良好的后端Web系统。 当你意识到这一点时,你可能会想到这些方面:

好的,net/http软件包不适合我,但有很多框架,哪一个对我有用?!

他们每个人都告诉我这是最好的。 我不知道该怎么办!

我用wrk和ab做了一些深入的研究和基准测试,以便选择适合我和我的新项目的框架。遗憾的是,结果对我来说真的很失望。

我开始想知道golang在网上是不是像我读过的那样快…但是,在我让Golang继续使用nodejs开发之前,我告诉自己:

‘Makis,不要失去希望,至少给Golang一个机会。 尝试构建一些全新的东西,而不是基于你之前看到的“慢”代码; 了解这种语言的秘密,并让其他人按照你的步骤!’。

这些是我当天告诉自己的话[2016年3月13日]。

同一天晚上,我正在读一本关于希腊神话的书。 我看到了一个古老的女神的名字,并立即受到启发,为这个新的网络框架(我已经开始写作)命名 - Iris。

两个月后,我正在写这篇介绍。

我还在这里,因为Iris已成功成为最快的网络框架。

安装

iris安装要求golang版本至少为1.8,建议1.9

go get -u github.com/kataras/iris

在 Go 1.9之前,你必须导入“github.com/kataras/iris/context”来创建一个Handler: 如一下程序:

    package main
    import (
        "github.com/kataras/iris"
        "github.com/kataras/iris/context"//需要单独引入
    )
    func main() {
        app := iris.New()
        app.Get("/", func(ctx context.Context){})
        app.Run(iris.Addr(":8080"))
    }

从 Go 1.9开始,在您不必导入之后,您可以选择性地执行此操作:

	package main
    import "github.com/kataras/iris"
    func main() {
        app := iris.New()
        app.Get("/", func(ctx iris.Context){})
        app.Run(iris.Addr(":8080"))
    }
参考