Echo 是一个用 Go 语言开发的快速 HTTP 路由器(零内存分配)和微型 Web 框架。
性能比较:
Zippy router.
Extensible middleware/handler, supports:
func(*echo.Context)
http.Handler
http.HandlerFunc
func(http.ResponseWriter, *http.Request)
func(*echo.Context)
func(echo.HandlerFunc) echo.HandlerFunc
func(http.Handler) http.Handler
http.Handler
http.HandlerFunc
func(http.ResponseWriter, *http.Request)
Middleware
Handler
Handy encoding/decoding functions.
支持静态文件处理
示例代码:
package main import ( "net/http" "github.com/labstack/echo" mw "github.com/labstack/echo/middleware" "github.com/rs/cors" "github.com/thoas/stats" ) type user struct { ID string `json:"id"` Name string `json:"name"` } var users map[string]user func init() { users = map[string]user{ "1": user{ ID: "1", Name: "Wreck-It Ralph", }, } } func createUser(c *echo.Context) { u := new(user) if c.Bind(u) { users[u.ID] = *u c.JSON(http.StatusCreated, u) } } func getUsers(c *echo.Context) { c.JSON(http.StatusOK, users) } func getUser(c *echo.Context) { c.JSON(http.StatusOK, users[c.P(0)]) } func main() { e := echo.New() //*************************// // Built-in middleware // //*************************// e.Use(mw.Logger) //****************************// // Third-party middleware // //****************************// // https://github.com/rs/cors e.Use(cors.Default().Handler) // https://github.com/thoas/stats s := stats.New() e.Use(s.Handler) // Route e.Get("/stats", func(c *echo.Context) { c.JSON(200, s.Data()) }) // Serve index file e.Index("public/index.html") // Serve static files e.Static("/js", "public/js") //************// // Routes // //************// e.Post("/users", createUser) e.Get("/users", getUsers) e.Get("/users/:id", getUser) // Start server e.Run(":8080") }
echo的使用 首先在第一章已经输出了第一个程序脚本echo “hello world”,这也是echo的使用,在脚本中echo的使用比较频繁,类似与c语言中的printf函数,echo可以直接带上echo “输出内容”,也可以echo $变量将变量的值打印出来,后面会介绍命令中带上双引号" "、反引号``和单引号’'的区别。 双引号" "、反引号和单引号’ '的区别 单引号: echo ' T
营销树今天精心准备的是《linuxecho》,下面是详解! Linux命令echo -e 在Linux命令中echo-e这个参数e是什么意思。给个具体用法。或者说echo–e“Iwilluse‘touch’commandtocreate3files.”这里参数e的作用是什么... 在Linux命令中 echo -e 这个参数e是什么意思。 给个具体用法。或者说 echo –e “I will us
一、回显命令 用于控制显示文本内容或显示命令内容或显示操作内容。 二、用法介绍 2.1echo on ::echo on ::--打开回显。系统默认为on,一般不用,除非曾经执行过echo off后需要显示回显的时候。 echo on echo the echo is on. 2.2echo off ::echo off ::--关闭回显。关闭其指令后面所有的批处理回显,只显示执行后的结果,除非遇
一、常用选项 echo -n 表示不换行输出 echo -e 输出转义字符,将转义后的内容输出到屏幕上 二、常用的转义字符 字符 含义 \b 转义后相当于按退格键(backspace) ,但前提是"\b"后面存在字符; “\b"表示删除前一一个字符,”\b\b" 表示删除前两个字符。 \c 不换行输出,在"\c"后面不存在字符的情况下,作用相当于echo -n;但是当"\c"后面仍然存在字符时,"
命令概述 echo(显示文字)echo会将输入的字符串送往标准输出,输出的字符串间以空白字符隔开, 并在最后加上换行号; 命令语法 echo [-ne][字符串] / echo [--help][--version] 参数说明 -n 取消自动换行; -e 打开反斜杠ESC转义; \a 提示音; \b 删除前一个字符; \c 最后不加上换行符号; \f 换行但光标仍旧停留在原来的位置; \n 换行且
简述: 覆盖型写法 (文件里原来的内容被覆盖) echo "aaa" > a.txt echo aaa > a.txt 添加型写法 (新内容添加在原来内容的后面) echo "aaa" >> a.txt echo aaa >> a.txt 其中 echo >or>> file, 在 user space 中会赋值到 buf 中为 string+换行符, 传入到 kernel space
Shell中的echo命令类似于php中的echo命令,都是用于输出。Shell中另有一个输出命令为printf命令,我没有另写文章介绍该命令,大家可以在Shell printf 命令中查阅学习。 本文中的一系列实例用到的命令我都是在终端直接写的,输出也是输出在终端,这样方便学习和记录吧!其实也都可以放到脚本文件中执行。 一、语法 echo [-neE] [arg ...] (1)含义 -n:
一、Linux 中的echo指令 Shell 的 echo 指令用于字符串的输出。详见: Shell echo命令 | 菜鸟教程 二、echo > 和echo >> echo > 和echo >>的区别详见: Linux echo的 > 和 >>_xiaotongzhi_w的博客-CSDN博客 sudo echo "export PYTHONPATH="/usr/local/lib/python2
本章重点介绍Web框架及其部署。 PyCharm具有部署代码和文件的简单功能。 要使用PyCharm部署代码,我们需要添加一个带有菜单选项Settings -》 Build, Execution-》 Deployment的Web服务器。 现在,包括部署项目所需的各种配置的所有设置。 在Mappings选项卡中,用户可以指定本地代码的位置以及远程复制到何处。 可以使用Tools -》 Deploym
tornado.web — RequestHandler and Application classes Thread-safety notes Request handlers Entry points Input Output Cookies Other Application configuration Decorators Everything else tornado.template
本页面主要用于 Golang Echo 框架官方首页的汉化,作为中文版的Echo的使用介绍。
本章重点介绍Web框架及其部署。 PyCharm具有部署代码和文件的简单功能。 要使用PyCharm部署代码,我们需要添加一个带有菜单选项:Settings -> Build, Execution -> Deployment 来部署Web服务器。 现在,包含部署项目所需的各种配置的所有设置。 在Mappings 选项卡中,用户可以指定本地代码的位置以及它应该远程复制到的位置。 代码可以使用工具菜单
22. Web MVC框架
第十三章介绍了如何开发一个Web框架,通过介绍MVC、路由、日志处理、配置处理完成了一个基本的框架系统,但是一个好的框架需要一些方便的辅助工具来快速的开发Web,那么我们这一章将就如何提供一些快速开发Web的工具进行介绍,第一小节介绍如何处理静态文件,如何利用现有的twitter开源的bootstrap进行快速的开发美观的站点,第二小节介绍如何利用前面介绍的session来进行用户登录处理,第三小
了解了WSGI框架,我们发现:其实一个Web App,就是写一个WSGI的处理函数,针对每个HTTP请求进行响应。 但是如何处理HTTP请求不是问题,问题是如何处理100个不同的URL。 每一个URL可以对应GET和POST请求,当然还有PUT、DELETE等请求,但是我们通常只考虑最常见的GET和POST请求。 一个最简单的想法是从environ变量里取出HTTP请求的信息,然后逐个判断: de
了解了WSGI框架,我们发现:其实一个Web App,就是写一个WSGI的处理函数,针对每个HTTP请求进行响应。 但是如何处理HTTP请求不是问题,问题是如何处理100个不同的URL。 每一个URL可以对应GET和POST请求,当然还有PUT、DELETE等请求,但是我们通常只考虑最常见的GET和POST请求。 一个最简单的想法是从environ变量里取出HTTP请求的信息,然后逐个判断: de