spring框架 web开发_go语言web开发框架学习:Iris框架讲解(一)
Golang介绍
Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。
谷歌资深软件工程师罗布·派克(Rob Pike)表示,“Go让我体验到了从未有过的开发效率。”派克表示,和今天的C++或C一样,Go是一种系统语言。他解释道,“使用它可以进行快速开发,同时它还是一个真正的编译语言,我们之所以现在将其开源,原因是我们认为它已经非常有用和强大。”
Golang语言的一些的功能:
- 具有现代的程序语言特色,如垃圾回收,帮助程序设计师处理琐碎和重要的内存管理等问题。Go的速度也非常快,几乎和C或C++程序一样快,且能够快速制作程序。
- 该软件是专为构建服务器软件所设计(如Google的Gmail),Google认为Go还可应用到其他领域,包括在浏览器内执行软件,取代JavaScript的角色。
- Go也可解决现今的一大挑战:多核心处理器。一般电脑程序通常依序执行,一次进行一项工作,但多核心处理器更适合并行处理许多工作。
相较于其他语言,Golang之所以发展迅速,与该语言特有的特色密不可分:
- 简洁 快速 安全
- 并行 有趣 开源
- 内存管理,数组安全,编译迅速
Iris简介
Iris是一款Go语言中用来开发web应用的框架,该框架支持编写一次并在任何地方以最小的机器功率运行,如Android、ios、Linux和Windows等。该框架只需要一个可执行的服务就可以在平台上运行了。
Iris框架以简单而强大的api而被开发者所熟悉。iris除了为开发者提供非常简单的访问方式外,还同样支持MVC。另外,用iris构建微服务也很容易。
在iris框架的官方网站上,被称为速度最快的Go后端开发框架。在Iris的网站文档上,列出了该框架具备的一些特点和框架特性,列举如下:
1)聚焦高性能
2)健壮的静态路由支持和通配符子域名支持
3)视图系统支持超过5以上模板
4)支持定制事件的高可扩展性Websocket API
5)带有GC, 内存 & redis 提供支持的会话
6)方便的中间件和插件
7)完整 REST API
8)能定制 HTTP 错误
9)源码改变后自动加载
等等还有很多特性,大家可以参考Iris官方文档。在GoWeb开发的诸多框架中,各个维度的性能比较如下:
Iris框架学习渠道
在学习Iris框架过程时,我们需要有相应的配套资料才能够完成我们的学习。下面是学习Iris框架过程中可能会用到的资料。
1) Iris官网:https://iris-go.com/
2) Iris框架源码地址:https://github.com/kataras/iris
3) Iris框架中文学习文档: https://studyiris.com/doc/
当然,还有其他相关资料,比如说xorm框架等,这些我们在后面的课程文档中学习到以后再做解释和说明。
Iris框架安装
环境要求:iris框架要求golang版本至少为1.8。各位同学可以通过打开终端,执行:go version 命令来查看自己机器的go环境版本。
安装Iris框架非常简单,使用go语言的全局安装第三方代码的命令get即可。安装Iris框架的命令如下:
go get -u http://github.com/kataras/iris 复制代码
在本地终端中执行如上的安装命令,等待命令执行成功,即表示Iris源码下载安装完成。安装完成Iris框架以后,能够在本地机器的GoPath环境目录中的src/http://github.com/目录下找到iris框架对应的包名,如下图所示:
如图所示的kataras/iris所在的目录就是iris框架的源码,如上图所示即是安装成功。
源码案例
在iris源码安装完成以后,iris框架为开发者提供了自己学习的实战案例,供开发者自行学习。iris提供的案例在iris框架目录中的_example目录下,在学习时可以进行参考。
接下来我们就可以开始学习iris的相关内容,进行代码开发了。
Iris构造服务实例
在安装完成Iris的源码后,我们就开始来编写最简单的一个Iris的服务。在Iris中,构建并运行一个服务实例需要两步:
- 1、通过iris.New()方法可以实例化一个应用服务对象app
- 2、通过Run方法开启端口监听服务,运行服务实例
如下是一个最简单的服务案例Demo
package main import "http://github.com/kataras/iris" func main() { //1.创建app结构体对象 app := iris.New() //2.端口监听 app.Run(iris.Addr(":7999"), iris.WithoutServerError(iris.ErrServerClosed)) application.Run(iris.Addr(":8080"))//第一种 //application.Run(iris.Addr(":8080"), iris.WithoutServerError(iris.ErrServerClosed)) //第二种 }
spring框架 web开发_go语言web开发框架学习:Iris框架讲解(一)相关推荐
- spring框架 web开发_go语言web开发框架:Iris框架讲解(一)
Golang介绍 Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性.谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软 ...
- 框架的特性_Go 语言 Web 框架 Echo 系列:基础篇—通过一个例子串联各特性
通过前面的介绍,相信对 echo 有了一个初步的认识.本文我们通过一个简单的登录页面来串联 echo 的相关特性.因为该文主要关注各个特性,所以在目录结构和代码组织方面很随意. 本节最终效果 1)登录 ...
- php和python web开发-初入Web开发,php、python和ruby应该学哪个?
php.python和ruby都适合做WEB开发,对于web开发初学者来说,最大的问题就是学习哪种编程语言更适合未来的职业发展并且更有前景.要选择一门适合自己的语言,首先你要考虑php.python和 ...
- java和python的web自动化有什么区别-Java Web开发和Python Web开发之间的区别
今天的文章讨论了Java Web开发和Python Web开发之间的区别.我不鼓励我们在这里从Java Web迁移到Python Web开发.我只是想谈谈我的感受.它不一定适合所有情况,仅供我们参考. ...
- 《Java Web开发入门很简单》学习笔记
<Java Web开发入门很简单>学习笔记 1123 第1章 了解Java Web开发领域 Java Web主要涉及技术包括:HTML.JavaScript.CSS.JSP.Servlet ...
- python web开发入门_python大佬整理的python web开发从入门到精通学习笔记
原标题:python大佬整理的python web开发从入门到精通学习笔记 Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通 ...
- [golang Web开发] 1.golang web开发:简介以及web服务器的搭建以及http协议简介
一.web开发简介 1.简介 Web应用在我们的生活中无处不在,看看我们日常使用的各个应用程序,它们要么是 Web应用,要么是移动 App 这类 web应用的变种,无论哪一种编程语言,只要它能够开发出 ...
- 视频教程-微信公众平台深度开发v2.0第6季——微信WEB开发、手机WEB技术-微信开发
微信公众平台深度开发v2.0第6季--微信WEB开发.手机WEB技术 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资 ...
- Web开发秘方(WEB DEVELOPMENT RECIPES)[47.5MB] PDF扫描版
不借助插件怎样在移动设备上实现动画效果?怎样快速搭建HTML电子邮箱?怎样制作跨PC和移动设备显示的应用界面?怎样利用最新的JavaScript框架提高应用的响应速度?怎样有效利用CoffeeScri ...
最新文章
- [问题解决] Python中 == 与 is 的区别
- 使用SSM+Layui+Bootstrap实现汽车维保系统
- Linux删除 指定数目行【或者所有行】删除光标到行首
- python redis订阅_python实现 redis订阅与发布
- 算法-----前 k 个出现次数最多的单词
- 图解分布式架构的演进过程
- BZOJ3451 Normal 期望、点分治、NTT
- vue.js 多页 php,如何使用 vue-cli 开发多页应用方法
- NSURLProtocol概述
- 【AI面试题】AlexNet、VGGNet、GoogLeNet,ResNet等网络之间的区别是什么
- Bailian3251 最少费用【递归】
- python内置类型详细解释
- jpegNPP编译为so
- 教你写一个弹幕库,确定不了解一下?,请查收
- 整人输入指定内容退出html,整人代码
- 智能陈桥五笔输入法 for linux,智能陈桥五笔 for Linux
- php解析抖音视频链接,PHP抖音视频无水印解析接口
- rasa实现同义词替换
- iOS微信6.5.19可生成自己的赞赏码
- JAVA日本图片_java使用Thumbnailator操作图片
热门文章
- 澄海哪里学机器人编程_少年学机器人编程
- passive模式 tcp_FTP主动模式和被动模式的比较
- 【OpenCV 例程200篇】29. 图像的翻转(cv2.flip)
- 【OpenCV 例程200篇】08. 图像的复制(np.copy)
- 基于点云的三维重建_香港科技大学王煜教授:深度学习在物体三维重建中的应用...
- 系统仿真平台SkyEye可替代国外Matlab/Sumlink等同类软件
- python闭包与装饰器的代码解释
- Dojo实现Tabs页报错(二)
- 利用tushare进行对兴业银行股价的爬取,并使用numpy进行分析
- Saving James Bond - Easy Version 原创 2017年11月23日 13:07:33