皇冠体育比分

          <dfn id='17mr4'><optgroup id='17mr4'></optgroup></dfn><tfoot id='17mr4'><bdo id='17mr4'><div id='17mr4'></div><i id='17mr4'><dt id='17mr4'></dt></i></bdo></tfoot>

          <ul id='17mr4'></ul>

          • Revel 教程


            阅读(552.3k) 收藏 (92)

            多端阅读《Revel 教程》:

            • 在PC/MAC上查看:
              下载w3cschool客户端,进入客户端后通过搜索当前教程手册的名称并下载,就可以查看当前离线教程文档。下载Revel 教程离线版客户端
            • 在手机APP上查看:

              请从各大安卓应用商店、苹果App Store搜索并下载w3cschool手机客户端,在App中搜索当前教程手册的名称查看。下载w3cschool手机App端

              App下载
            • 在手机上查看文档:

            手册简介:

            Revel教程

            手册说明:

            Go语言Web框架Revel介绍

            Revel是一个Go语言的web框架,其具有热编译,高性能,无状态,模块化等特性,非常适合做web开发。这个框架源于java的 Play! Framework.清晰的MVC结构,是现在go语言Web框架中优秀的框架。

            Revel框架特性

            热编译

            编辑, 保存, 和 刷新时,Revel自动编译代码和模板,如果代码编译错误,会给出一个 错误提示,同时捕捉 运行期错误。

            全栈功能

            Revel 支持: 路由, 参数解析, 验证, session/flash, 模板, 缓存, 计划任务, 测试, 国际化 等功能。

            高性能

            Revel 基于 Go HTTP server 构建。 这是techempower发布的 最新评测结果 。在各种不同的场景下进行了多达三到十次的请求负载测试。

            框架设计

            同步

            Go HTTP server 对于每个请求都运行在 goroutine上。Write simple callback-free code without guilt。

            无状态

            Revel 提供了保持Web层无状态的可预知的扩展。例如,会话数据被存储在用户的cookie中,缓存由memcached集群提供支持。

            模块化

            Revel框架由被称为 过滤器 的中间件组成,它实现了几乎所有的请求处理功能。 开发者可以自由地使用自定义的过滤器,比如如自定义的路由器,用以替换Revel默认的路由过滤器。

            快速开始

            1、安装revel之前,先安装go环境
            2、安装还需要hg和git支持
            3、设置GOPATH,然后把revel下载并安装到GOPATH内

            mkdir ~/gocode
            cd $GOPATH
            go get github.com/robfig/revel

            4.编译revel命令行工具,revel自己封装了go的命令行工具,创建revel项目、打包发布基本都用这个工具,执行下面的命令

            go build -o bin/revel github.com/robfig/revel/cmd

            5.可以将编译出来的revel命令行工具加到$PATH变量中方便调用

            export PATH="$PATH:$GOPATH/bin"

            6.最后验证revel是否可以工作了

            $ revel help
            ~
            ~ revel! http://robfig.github.com/revel
            ~
            usage: revel command [arguments]
            
            The commands are:
            
                run         run a Revel application
                new         create a skeleton Revel application
                clean       clean a Revel application's temp files
                package     package a Revel application (e.g. for deployment)
            
            Use "revel help [command]" for more information.

            概要说明

            本节简要介绍框架的几个主要组成部分:

            路由
            采用简单的声明性语法。反向路由类型安全。
            控制器
            组织端点到控制器。提供易用的数据绑定和表单验证。
            模板
            使用 Go 模板支持大规模应用.
            拦截器
            在一个函数运行之前或之后被调用. 控制器的方法都可以被注册拦截.
            过滤器
            通用的功能可以使用过滤器来实现.

            Revel路由

            路由采用声明性语法. 所有的路由都定义在一个routes文件中。 使用简单的语法匹配路由, 并从 URI 中提取参数到控制器中. 下面是带注释的示例:

            # conf/routes
            # 这个文件定义了所有的路由 (优先级按照先后顺序)
            GET    /login                Application.Login       # 匹配一个简单的路由
            GET    /hotels/              Hotels.Index            # 匹配一个带或者不带斜线的路由
            GET    /hotels/:id           Hotels.Show             # 绑定到一个控制器参数
            WS     /hotels/:id/feed      Hotels.Feed             # WebSockets
            POST   /hotels/:id/:action   Hotels.:action          # 自由绑定到一个控制器的多个方法
            GET    /public/*filepath     Static.Serve("public")  # 静态文件服务
            *      /:controller/:action  :controller.:action     # 自动捕捉所有动作,自动生成路由

            反向路由以类型安全的方式生成. 例如下面的Save程序:

            // 展示信息.
            func (c Hotels) Show(id int) revel.Result {
            	hotel := HotelById(id)
            	return c.Render(hotel)
            }
            
            // 保存信息,并重定向到Hotels.Show.
            func (c Hotels) Save(hotel Hotel) revel.Result {
            	// validate and save hotel
            	return c.Redirect(routes.Hotels.Show(hotel.Id))
            }
            推荐好课

            更新记录:

            在线笔记
            App下载
            App下载

            扫描二维码

            下载编程狮App

            公众号
            微信公众号

            编程狮公众号

            意见反馈
            返回顶部