Golang开发入门(一)
管道(Channel)是Go语言中比较重要的部分,经常在Go中的并发中使用。
①
.管道的定义
varchanNamechanElemType,这里ElemType是指此管道所传递的类型。也可以使用make()方法来定义管道,ch := make(chanint, 100),size可以省略
②
.管道的一些操作
<-操作符可以由管道中读写数据,需要注意,<-操作符是与最左边的chan优先结合的。
向管道中写入一个数据,在此需要注意:向管道中写入数据通常会导致程序阻塞,直到有其他goroutine从这个管道中读取数据。
读取数据时,需要注意:如果管道中没有数据,那么从管道中读取数据会导致程序阻塞,直到有数据。
关闭channel,直接调用close()即可, close(ch)。
判断ch是否关闭可以使用,x, ok := <-ch,判断ok的值,如果是false,则说明已经关闭(关闭的话读取是不会阻塞的)。
③
.单向管道
var ch1 chan<- float64 // 只能向里面写入float64的数据,不能读取
var ch2 <-chanint // 只能读取int型数据
这里只介绍几种go语言重要的语法,更加详细的知识大家可以参考go语言相关的文档:
https://studygolang.com/resources/26
常用GO web框架
Beego
beego 是一个开源的Go应用HTTP 框架,他可以用来快速开发API、Web以及后端服务等各种应用。是一个完整的MVC框架,有自己的日志库、ORM和Web框架。你不需要再去安装第三方库。它有一个称为Bee Tool的内置工具,用于监视代码更改,并在检测到更改时运行任务
。
Iris
Iris号称是最快的Go后端web框架。支持http2,完备的MVC 支持。性能非常卓越,在众多web框架中遥遥领先。另外iris提供的api都是极简风格,很容易上手。支持中间件扩展,拥有丰富的中间件生态库。拥有强大的路由功能,可以轻易的构建各种形式的RESTful API,路由分组、静态路由、动态路径参数化、通配符路由等待。还有http错误定义、上下文处理器、身份验证、视图模板、热重启、Websocket支持等
等功能。
Buffalo
Buffalo是一个快速又简单的web框架。当你开始一个新项目时,Buffalo可以为你提供一切——从前端到后端开发。Buffalo不仅仅是一个框架——它也是一个整体的Web开发生态系统,可以让你直接构建应用程序。
另外还有很多Go的开源框架,例如:Goji、Martini、Gin Gonic、Gocraft等,大家可以根据自己的实际应用和不同框架的特性来进行选择。
本次分享主要对Golang的简介,后续
和大家分享 如何
用Golang开发简单网站。