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开发的诸多框架中,各个维度的性能比较如下:

4642e1b08f287fe5419996517fcf507e.png

afa6e10db7bcdbdf07b3248a7639bccc.png


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框架对应的包名,如下图所示:

f015c48b0467eb4db9ae102677269112.png


如图所示的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)) //第二种 }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575287.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux终端的背景_如何在终端显示图像缩略图 | Linux 中国

lsix 是一个简单的命令行实用程序,旨在使用 Sixel 图形格式在终端中显示缩略图。-- Sk不久前,我们讨论了 Fim[1],这是一个轻量级的命令行图像查看器应用程序,用于从命令行显示各种类型的图像,如 bmp、gif、jpeg 和 png…

混合App开发,HBuilder开发移动App

使用HBuilder开发混合App: Hbuilder:是一个在线打包工具,不需要在本地配置开发环境;直接将做好的网站,通过一些简单的操作,就能在线打包为一个App; 混合APP开发常见技术:Html5、Re…

fanuc roboguide_ROBOGUIDE软件:机器人产线输送带输送物料虚拟仿真操作

概述输送带在机器人生产线或工作站中是常见的物料传送设备,它能够将物料从一个工位自动传送到另一个工位,是实现自动化生产制造必不可少的装置设备之一。虚拟仿真是对真实的工业机器人生产线或工作站的图形化再现,因此,对于具有输…

双电阻差分电流采样_小小的采样电阻,还真有点门道!

电流检测电阻的基本原理根据欧姆定律,当被测电流流过电阻时,电阻两端的电压与电流成正比.当1W的电阻通过的电流为几百毫安时,这种设计是没有问题的.然而如果电流达到10-20A,情况就完全不同,因为在电阻上损耗的功率(PI2xR)就不容忽视了.我们可以通过降低电阻阻值来降低功率损耗,…

jpa in查询_优选在shopee虾皮怎么发货价格查询皮皮虾云仓

优选在shopee虾皮怎么发货价格查询皮皮虾云仓皮皮虾云仓物流系统为现代化管理系统,可集中化,高效化的处理本土店物流订单。物流系统可对接主流的的电商平台ERP可以实现高效的订单处理。如lazada,shopee,1688、速卖通、eaby、shopi…

html5+、ReactNative、Weex、Ionic之间的区别、(配置java、python、Android环境)、ReactNative(react-native-cli)、yarn、Weex

html5、ReactNative、Weex、Ionic之间的区别: html5和Ionic: 在开发原理上基本相同,都是需要先开发出一个完整的网站,再通过html5或Ionic提供的打包技术对网站进行打包成移动app,它们实际还是一个网站,并非…

delphi listview失去焦点后的颜色_阴阳师姑获鸟和惠比寿建模更新对比 爷爷帅了 觉醒后鸟姐颜值提升...

阴阳师体验服近期更新了人气式神姑获鸟还有惠比寿的相关建模,本次特别奉上有关这两位式神的建模形象对比图,对比后发现经过修改和优化之后,爷爷更帅了,而觉醒后的鸟姐颜值也有所提升,一起来看看吧。惠比寿觉醒前觉醒前…

kibana 显示 @timestamp 时间问题(utc or browser当前时间)自动转换显示

https://github.com/elasticsearch/kibana/issues/95 可以统一timestamp时间字段为当前信息时区的时间! http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-date-format.html 转载于:https://www.cnblogs.com/sunxucool/p/3939701.ht…

React简介、虚拟DOM、Diff算法、创建React项目、JSX语法、组件、组件声明方式、组件传值props和state、组件的生命周期

React简介: 前面只是简单介绍移动APP开发,后面还会继续深入介绍移动app开发;其中想要用ReactNative开发出更出色的应用,那么就得学好React,下面将介绍React: React 是一个由 Facebook 开发用于构建用户界…

去掉 edittext 长按全选_开封消毒湿巾全选

开封消毒湿巾全选   其实,带有杀菌效果的清洁产品大多通过降低微生物的繁殖力达到预期的杀菌效果,所添加的每种杀菌成分都针对特定细菌,无法杀灭所有细菌。如果产品中的杀菌剂浓度总是不能将细菌完全杀灭,就可能导致细菌对该类杀…

代数余子式之和怎么算_小明说养老 | 养老金怎么算之月平均缴费指数怎么来的?...

上一期小明分享了企业职工养老保险退休待遇怎么算,具体可戳小明说养老|养老金怎么算?小明来教你。在以张阿姨为例的计算举例中,提到张阿姨15年的平均缴费指数为0.8209。对这个平均缴费指数的概念提问较多,今天就来解释一下月平均缴…

ReactNative简介、开发环境、调试、常用组件、useState状态、FlatList组件、SectionList组件、Platform 模块、定义样式、图片组件、触摸事件、打包apk发布版

ReactNative简介: ReactNative是基于React语法来进行开发移动app的框架; ReactNative中提供了移动端专用的一些组件,我们要使用ReactNative固有的组件代替网页中使用的一些元素,如:div, p, img 都不能用了&#xff1…

odis工程师使用方法_傅里叶红外光谱仪常见故障维修及排除方法,你了解有多少种呢?...

傅里叶红外光谱仪在使用过程中难免会出现故障,那我们该怎么检修呢?赛默飞傅里叶红外光谱仪有些光谱仪器的使用说明书会给出光谱仪的常见故障及排查方法,有些光谱仪器还有自诊断功能,当傅里叶红外光谱仪不能正常工作时,…

微信小程序简介、发展史、小程序的优点、申请账号、开发工具、初识wxml文件和wxss文件

微信小程序介绍: 小程序简介: 小程序是一种连接用户与服务的方式,它能在微信内被便捷地获取和传播,具有出色的使用体验。 不需要下载安装,用户通过搜一搜或扫一扫就可以打开使用,使用完后退出即可。 小…

tia v15 添加项目_硬技能,TIA 博途软件界面的介绍

在前面的文章中给大家介绍了TIA 博途软件的安装包等介绍,这次小编给大家介绍一下TIA 博途软件的界面。#电工学习PLC#你知道吗,在博途软件的自动化项目任务的创建中,我们可以使用portal视图和项目视图。Portal视图是面向任务的视图&#xff0c…

UIImagePickerController按钮的中文问题

UIImagePickerController按钮的中文问题 执行以下两步即可 1. 在targets中设置region为China 2. 在project中添加支持中文 转载于:https://www.cnblogs.com/YouXianMing/p/3935460.html

rsatool使用步骤图解_工作中想要事半功倍?图解来助你

一次会议上,老板让我们进行一场头脑风暴,然后将脑中浮现出来的想法以ppt的形式,在会议上与大家分享。在会上我看到其他区域的同事做的ppt,真的叫一个精美啊,有图形对比、有案例分析、有未来展望。反观自己的&#xff0…

ZRender源码分析2:Storage(Model层)

回顾 上一篇请移步:zrender源码分析1:总体结构 本篇进行ZRender的MVC结构中的M进行分析 总体理解 上篇说到,Storage负责MVC层中的Model,也就是模型,对于zrender来说,这个model就是shape对象,在…

java语言概述、java语言特性、java语言发展史、java语言作用

Java介绍: Java语言概述: Java语言是由美国Sun(Stanford University Network)斯坦福网络公司的java语言之父–詹姆斯高斯林,在1995年推出的高级的编程语言。所谓编程语言,是计算机的语言,人们…

电脑显示器不亮主机正常_电脑主机已开机 显示屏却不亮(看完秒懂)

台式电脑是工作的得力助手,我们用的是软件,但是如果硬件出问题了,就无法工作了。有时会遇到台式电脑开机,主机开了,但是屏幕却不亮,是怎么回事呢?现在,笔者告诉大家怎样一步步查明原…