think2me

猫奴/腾讯码农/后端魔法师/女票美若天仙/户外强驴/读书狂魔

排序:
默认
按更新时间
按访问量

33. 头等函数(first-class function)

原文:https://golangbot.com/first-class-functions/ 欢迎访问 Golang 教程33教程系列. 什么是头等函数? 支持头等函数的语言允许将函数分配给变量,作为参数传递给其他函数并从其他函数返回。 Go就支持这一功能。 在本教程中, 我们将讨论...

2018-09-14 17:18:29

阅读数:69

评论数:0

swoole深入学习 8. 协程

swoole深入学习 8. 协程 swoole 在 2.0正式版加入了协程功能。这一章主要来深究一下在Swoole中如何使用协程。 什么是协程? 协程(Coroutine)也叫用户级线程, 很多人分不清楚协程和线程和进程的关系。进程(Process)是操作系统分配资源的单位,线程(Threa...

2018-04-19 18:40:57

阅读数:829

评论数:1

32.恐慌和恢复 (Panic and Recover)

原文:https://golangbot.com/panic-and-recover/ 欢迎访问Golang 系列教程中的第32章。也是本系列的最后一章。 什么是恐慌? 在 go 程序中处理异常情况的惯用方法是使用错误(errors)。对于程序中出现的大多数异常情况, 使用错误都是足...

2018-03-20 13:52:00

阅读数:340

评论数:0

31.自定义错误

原文:https://golangbot.com/custom-errors/ 欢迎访问Golang 系列教程中的第31章。 在上一教程中, 我们了解了如何在 go 中表示错误以及如何处理标准库中的错误。我们还学习了如何从标准库错误中提取更多的信息。 本教程讨论如何创建我们自己的自定...

2018-03-20 13:51:07

阅读数:104

评论数:0

30.错误处理

原文:https://golangbot.com/error-handling/ 欢迎访问Golang 系列教程中的第30章。 什么是错误? 错误指程序中出现异常情况。比方说, 我们正在尝试打开一个文件, 文件系统中不存在该文档。这是一个异常情况, 它表示为一个错误。 Go中的错误是普...

2018-03-20 13:50:08

阅读数:110

评论数:0

29.推迟(defer)

原文:https://golangbot.com/defer/ 欢迎访问Golang 系列教程中的第29章。 什么是延迟(defer)? Defer语句用于在返回defer语句的函数之前执行函数调用。这个定义可能看起来很复杂,但通过一个例子很容易理解。 例如 package ...

2018-03-20 13:49:27

阅读数:79

评论数:0

28.多态 - golang中的面向对象

原文:https://golangbot.com/polymorphism/ 欢迎访问Golang 系列教程中的第28章。 Go中的多态性是通过接口实现的。正如我们已经讨论过的,接口可以在Go中隐式实现。如果一个类型为接口中声明的所有方法提供了定义,则实现一个接口。让我们来看看在接口的帮助...

2018-03-20 13:48:42

阅读数:83

评论数:0

27.用组合代替继承-golang中的面向对象

原文:https://golangbot.com/inheritance/ 欢迎访问Golang 系列教程中的第27章。 go 不支持继承(inheritance), 但是它支持组合(composition)。构图的一般定义是 “放在一起”。组合的一个示例是小轿车。汽车由轮子、引擎和其他各...

2018-03-20 13:47:44

阅读数:244

评论数:1

26.用结构体替代类-golang中的面向对象

原文: https://golangbot.com/structs-instead-of-classes/ 欢迎访问Golang 系列教程中的第26章。 是否面向对象? go不是一个纯面向对象的编程语言。从 “Go’s FAQs” (go 常见问题解答)中取出的摘录回答了go 是否为面向...

2018-03-19 14:04:37

阅读数:120

评论数:0

25.互斥锁 (mutex)

原文:https://golangbot.com/mutex/ 欢迎访问 Golang 系列教程中的第25章。 在本教程中, 我们将了解互斥体。我们还将学习如何使用互斥体和信道来解决竞争条件. 临界区 在跳转到互斥体之前, 必须了解并发编程中关键节的概念。当一个程序同时运行时, 修改共...

2018-03-19 14:03:30

阅读数:57

评论数:0

24.选择(select)

原文:https://golangbot.com/select/ 欢迎来到Golang 系列教程的第 24 章。 什么是 select? select 语句用于在多个发送/接收信道操作中进行选择。select 语句会一直阻塞,直到发送/接收操作准备就绪。如果有多个信道操作准备完毕,s...

2018-03-19 14:02:45

阅读数:56

评论数:0

23.缓冲信道和工作池

原文:https://golangbot.com/buffered-channels-worker-pools/ 欢迎来到Golang 系列教程的第 23 章。 什么是缓冲信道? 在上一教程里,我们讨论的主要是无缓冲信道。我们在信道的教程里详细讨论了,无缓冲信道的发送和接收过程是阻塞的。...

2018-03-19 14:02:07

阅读数:93

评论数:0

22.信道(channel)

原文:https://golangbot.com/channels/ 欢迎来到Golang 系列教程的第 22 章。 在上一教程里,我们探讨了如何使用 Go 协程(Goroutine)来实现并发。我们接着在本教程里学习信道(Channel),学习如何通过信道来实现 Go 协程间的通信。...

2018-03-19 14:01:26

阅读数:111

评论数:0

21.go协程(Goroutine)

原文:https://golangbot.com/goroutines/ 欢迎来到Golang 系列教程的第 21 章。 在前面的教程里,我们探讨了并发,以及并发与并行的区别。本教程则会介绍在 Go 语言里,如何使用 Go 协程(Goroutine)来实现并发。 Go 协程是什么? ...

2018-03-19 14:00:55

阅读数:256

评论数:0

20.并发介绍

原文:https://golangbot.com/concurrency/ 欢迎来到我们Golang 系列教程的第 20 章。 Go 是并发式语言,而不是并行式语言。在讨论 Go 如何处理并发之前,我们必须理解何为并发,以及并发与并行的区别。 并发是什么? 并发是指立即处理多个...

2018-03-19 14:00:26

阅读数:79

评论数:0

19.接口(二)

原文:https://golangbot.com/interfaces-part-2/ 欢迎来到 Golang 系列教程的第 19 个教程。接口共有两个教程,这是我们第二个教程。 实现接口:指针接受者与值接受者 在上一章的教程”接口(一)”中,所有示例里面,我们都是使用值接受者(Valu...

2018-03-19 13:59:54

阅读数:56

评论数:0

18.接口(一)

原文:https://golangbot.com/interfaces-part-1/ 欢迎来到Golang 系列教程第 18 章。接口共有两个教程,这是我们接口的第一个教程。 什么是接口? 在面向对象的领域里,接口一般这样定义:接口定义一个对象的行为。接口只指定了对象应该做什么,至...

2018-03-19 13:58:24

阅读数:56

评论数:0

17.方法

原文:https://golangbot.com/methods/ 欢迎来到 Golang 系列教程的第 17 章。 什么是方法? 方法其实就是一个函数,在 func 这个关键字和方法名中间加入了一个特殊的接收器类型。接收器可以是结构体类型或者是非结构体类型。接收器是可以在方法的内部访问...

2018-03-19 13:57:20

阅读数:61

评论数:0

16.结构体

原文:https://golangbot.com/structs/ 欢迎来到Golang 系列教程的第 16 章。 什么是结构体? 结构体是用户定义的类型,表示若干个字段(Field)的集合。有时应该把数据整合在一起,而不是让这些数据没有联系。这种情况下可以使用结构体。 例如,一个职员...

2018-03-14 10:06:16

阅读数:87

评论数:0

15.指针

原文:https://golangbot.com/pointers/ 欢迎来到Golang 系列教程的第 15 章。 什么是指针? 指针是一种存储变量内存地址(Memory Address)的变量。 如上图所示,变量 b 的值为 156,而 b 的内存地址为 0x1040a124。...

2018-03-14 10:05:45

阅读数:55

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭