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开发简单网站。