![](https://img-blog.csdnimg.cn/2019091015320245.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
GoLang
文章平均质量分 79
EsunR
这个作者很懒,什么都没留下…
展开
-
前端开发者的GO语言之路(1) —— 变量、常量、条件语句、循环、函数、指针
1. go语言基础数据类型及定义1.1 创建 Go FileGo File 分为两种,一种为 Empty file ,另一种为 Simple Application1.2 Hello word创建一个 Simple Application 后,输入:package mainimport "fmt"func main() { fmt.Println("Hello word!")}...原创 2019-09-09 13:25:02 · 312 阅读 · 0 评论 -
BeeGo快速使用指南
1. 安装与使用1.1 安装Beego get github.com/astaxie/beegogo get -u github.com/astaxie/beegogo get -u github.com/beego/bee1.2 创建一个Bee项目创建一个标准的 Bee 项目:bee new myproject创建一个 api 应用:bee api apiproject...原创 2019-09-30 16:34:03 · 16732 阅读 · 0 评论 -
前端开发者的Go语言之路(9) —— Channel 与 GoLang 的 CPS 模型
1. channelgoroutine 之间通信的通道就叫做 channel1.1 创建使用 channel定义一个 channel 类型:var c chan int // c == nil创建一个 channel:c := make(chan int)向一个 channel 发送数据:c <- 1 // 将1发送给 channel 实例接收一个 channe...原创 2019-09-25 18:05:59 · 5403 阅读 · 0 评论 -
前端开发者的Go语言之路(8) —— 初识并发编程
1. 并发编程1.1 goroutine示例:func main() { for i := 0; i < 10; i++ { go func(i int) { // 开启的这个多任务可以一直输出打印 for { fmt.Printf("hello from goroutine %d \n", i) } }(i) } // ...原创 2019-09-17 14:51:48 · 393 阅读 · 0 评论 -
前端开发者的Go语言之路(7) —— 表格驱动测试、性能测试、文档生成
1. 表格驱动测试1.1 表格驱动测试的优势分离的测试数据明确的出错信息可以部分失败go语言的语法更容易实现表格驱动测试1.2 Go语言中使用表格驱动测试的方案创建一个 xx_test.go 文件,它是一个 Empty file,IDE其会自动执行文件中写入的测试函数创建一个测试函数,传入的参数为 t *testing.T编写测试表格,其为一个slice,单条数据...原创 2019-09-17 14:51:03 · 201 阅读 · 0 评论 -
前端开发者的Go语言之路(6) —— defer、错误处理、panic与recover
1. defer1.1 defer 调用defer:延缓defer 调用有以下特性:确保调用在结束发生生参数在defer语句时计算defer列表为后进先出创建一个简单的defer函数,让打印语句在函数执行完时再执行:func tryDefer() { defer fmt.Println(3) defer fmt.Println(2) fmt.Println(1)}...原创 2019-09-16 21:42:17 · 267 阅读 · 0 评论 -
前端开发者的GO语言之路(5) —— 函数式编程
1. 函数式编程1.1 使用闭包使用函数式编程思想,我们可以在一个函数中返回一个函数,构造一个累加器如下:func adder() func(int) int { sum := 0 return func(v int) int { sum += v return sum }}使用累加器:func main() { a := adder() for i := 0; i...原创 2019-09-16 21:40:54 · 295 阅读 · 0 评论 -
前端开发者的GO语言之路(4) —— DuckTyping概念、接口
1. duck typing通常我们设计一个方法时,参数的关注点往往是传入对象的类型,然而在 duck typing 中关注点在于传入对象的行为,能作什么。像鸭子走路,像鸭子叫,那么就是鸭子描述事物的外部行为而非内部结构严格说go属于结构化类型系统,类似duck typingduck typing 不是 go 语言独有的概念,而是一种思想,如javascript中的 duck typ...原创 2019-09-16 10:13:38 · 246 阅读 · 0 评论 -
前端开发者的GO语言之路(3) —— 结构体和方法、包和封装、拓展已有类型、GOPATH以及目录结构
1. 面向对象go语言仅支持封装,不支持继承和多台go语言没有class只有struct1.1 创建一个树形结构结构的创建:type treeNode struct { value int left, right *treeNode}使用treeNode创建一个如下图所示的树形结构:func main(){ root = treeNode{value...原创 2019-09-12 14:56:02 · 503 阅读 · 0 评论 -
前端开发者的GO语言之路(2) —— 数组、切片、Map、字符和字符串的处理
1. 数组1.1 定义数组定义一个长度为5的空数组(空数组的默认值为0):var arr [5]int // [0,0,0,0,0]定义一个长度为3的数组:arr2 := [3]int{1, 3, 5} // [1,3,5]定义一个自设置长度的数组:arr3 := [...]int{2, 4, 6, 8, 10} // [2,4,6,8,10]定义一个二维数组:var gr...原创 2019-09-10 15:29:26 · 380 阅读 · 0 评论 -
2019 Go 三款主流框架 —— Gin Beego Iris 选型对比
1. 常见框架1.1 框架排名Gin 31k [Lite]Beego 22kIris 16kEcho 15k [Lite]Revel 11kMartini 10k [×]buffalo 5k [Lite]1.2 框架特性Gin:Gin 是一个用 Go (Golang) 编写的 web 框架。...原创 2019-10-11 13:39:34 · 56705 阅读 · 1 评论