-
Go入门系列(十八) 反射、包和测试工具
发布时间:2021-01-17 13:24反射 reflect 反射在go中是一个包,包名为reflect,其作用是可以查看一个变量的具体类型和值。 反射这个包提供了两种接口类型 Type 和 Value,分别用于记录一
-
Go入门系列(十七) go并发之基于共享变量的并发
发布时间:2021-01-17 00:29上一章介绍了基于channel的并发,这一章介绍基于共享变量的并发。 简介基于共享变量的并发 我们知道如果多个线程或者协程并发的对一个变量进行修改,会出现数据不一致的问
-
Go入门系列(十六) go并发编程之Goroutine与channel(下)
发布时间:2021-01-12 12:07使用select处理多个channel 以一个例子开始。这个例子模拟火箭倒计时发射,并且用户可以在标准输入流终止这个倒计时功能。 // 未加终止功能的火箭发射 func main()
-
Go入门系列(十五) go并发编程之Goroutine与channel(中)
发布时间:2021-01-12 10:09用循环开启多个goroutine进行并发 在这一节,我们会用生成缩略图的例子来熟悉goroutine和channel的使用。 首先我们下载一个作者提供的图片压缩的包 thumbnail(这
-
Go入门系列(十四) go并发编程之Goroutine与channel(上)
发布时间:2021-01-10 13:44现在终于讲到了Go中最核心也最重要的部分:Goroutine并发编程。 Go的并发有两种主要方式:基于CSP模型的并发(通过channel实现) 和 基于共享变量的并发。Go的主要并发方式是前者
-
Go入门系列(十三) 接口——类型断言(下)
发布时间:2021-01-10 11:45类型断言类型断言可以判断某一个接口值变量是否是某种类型。语法为 x.(T),T是要断言的类型,x是接口值,这一句话的意思是判断x是否是T这种类型的变量。但是x.(T)不只返回一个bool,还会返回一个
-
Go入门系列(十二) 接口——接口的应用和例子(中)
发布时间:2021-01-09 10:00接下来我们将具体介绍go源码中提供的一些使用了接口技术的一些例子。 sort.Interface接口 像很多其他语言会为每一种类型写一个排序函数,并通过方法的方式调用,
-
Go入门系列(十一) 接口——接口的定义、作用、具体类型和具体值(上)
发布时间:2021-01-08 10:04Go中的接口是一种数据类型,不过它的作用和其他语言中的接口一样,用作于一种协议以暴露和隐藏一个变量或一种类型的方法。 我们回想一下php中的接口,php中的接口中会定义一系列的方法,这些方法没有
-
Go入门系列(十) go中的面向对象编程——方法
发布时间:2021-01-08 09:39方法 方法涉及到面向对象编程。在php中,对象是作为一种PHP的数据类型而存在,必须要用类所实例化出来的一个变量才是一个对象。但是在python或者js中则秉承着一切皆对象的原则,一个字符串或者
-
Go入门系列(九) 函数 - defer机制(下)
发布时间:2021-01-07 11:23匿名函数 拥有函数名的函数只能在包级语法块中被声明,通过匿名函数我们可绕过这一限制,在任何表达式中表示一个函数值。更为重要的是,通过这种方式定义的函数可以访问完整的词法环境,这意味着在函数中定义