zoukankan      html  css  js  c++  java
  • 安装iris框架

    1、导语

    目前Go语言已经为大多数人所熟知,越来越多的开发人员选择使用Go语言来进行开发,但是如何使用

    Go来进行web开发,在其他编程语言中都有对应的开发框架,当然在Go中也有,就是即将要介绍的——iris,它号称为速度最快的Go后端开发框架。在iris的网站文档上,列出该框架具备的一些特点和框架特性,列举如下:

    1)聚焦高性能
    2)健壮的静态路由支持和通配符子域名支持
    3)视图系统支持超过5以上模板
    4)支持定制事件的高可扩展性Websocket API
    5)带有GC, 内存 & redis 提供支持的会话
    6)方便的中间件和插件
    7)完整 REST API
    8)能定制 HTTP 错误
    9)源码改变后自动加载
    等等还有很多特性,大家可以参考Iris官方文档。

    2、iris框架学习推荐网站

    官网:https://iris-go.com/

    框架源码地址:https://github.com/kataras/iris

    中文学习文档:https://learnku.com/docs/iris-go/10

    3、iris框架安装

    官网安装方式:

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

    注意:iris要求你当前的go语言环境最低是1.8,但是官网推荐1.9以上

    但是,由于GitHub上的资源,咱们在国内直接拉取会出现安装失败的问题,就例如:

    # cd .; git clone https://github.com/kataras/iris D:go_workspacesrcgithub.comkatarasiris
    Cloning into 'D:go_workspacesrcgithub.comkatarasiris'...
    fatal: early EOF
    fatal: The remote end hung up unexpectedly
    fatal: index-pack failed
    error: RPC failed; curl 18 transfer closed with outstanding read data remaining
    package github.com/kataras/iris: exit status 128
    

    出现这种情况,不要慌,这是因为在国内访问GitHub会出问题,所以在我们安装Go语言中的一些包的安装就需要通过代理来实现

    3.1、Go模块的全球代理

    LinuxmacOS

    将以下指令添加到当前操作系统的环境变量当中.bashrc或者.bash_profile文件

    # Enable the go modules feature
    export GO111MODULE=on
    
    # Set the GOPROXY environment variable
    export GOPROXY=https://goproxy.io
    

    windows

    在windows中执行以下指令

    # Enable the go modules feature
    $env:GO111MODULE="on"
    
    # Set the GOPROXY environment variable
    $env:GOPROXY="https://goproxy.io"
    

    现在,在构建和运行应用程序时,go将通过goproxy.io获取依赖项。在goproxy储存库中查看更多信息。

    如果你的Go版本> = 1.13,则GOPRIVATE环境变量将控制go命令认为哪个模块是私有的(不可公开使用),因此不应使用代理或校验和数据库。例如:

    go env -w GOPROXY=https://goproxy.io,direct
    
    # Set environment variable allow bypassing the proxy for selected modules
    go env -w GOPRIVATE=*.corp.example.com
    

    将代理设置完之后,就可以来执行,官方指定的安装方式:

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

    3.2、测试

    package main
    
    import (
    	"github.com/kataras/iris"
    )
    
    func main() {
    	app := iris.New()
    	//输出html
    	// 请求方式: GET
    	// 访问地址: http://localhost:8080/welcome
    	app.Handle("GET", "/welcome", func(ctx iris.Context) {
    		ctx.HTML("<h1>Welcome</h1>")
    	})
    	//输出字符串
    	// 类似于 app.Handle("GET", "/ping", [...])
    	// 请求方式: GET
    	// 请求地址: http://localhost:8080/ping
    	app.Get("/ping", func(ctx iris.Context) {
    		ctx.WriteString("pong")
    	})
    	//输出json
    	// 请求方式: GET
    	// 请求地址: http://localhost:8080/hello
    	app.Get("/hello", func(ctx iris.Context) {
    		ctx.JSON(iris.Map{"message": "Hello Iris!"})
    	})
    	app.Run(iris.Addr(":8080")) //8080 监听端口
    }
    
  • 相关阅读:
    6月17日
    6月16日
    6月15日
    6月14日
    6月13日
    6月12日
    6月11日
    6月10日
    6月8日
    6月5日
  • 原文地址:https://www.cnblogs.com/Yang-Sen/p/11990195.html
Copyright © 2011-2022 走看看