Go语言
specterofblog
C/C++、Golang、Java、Android。底层系统开发,linux嵌入式开发,区块链开发,小小程序猿一枚
展开
-
Golang Interface深刻理解(类比C++多态)
什么是interface在面向对象编程中,可以这么说:“接口定义了对象的行为”,那么具体的实现行为就取决于对象了。在Go中,接口是一组方法签名。当一个类型为接口中的所有方法提供定义时,它被称为实现该接口。它与oop非常相似。接口指定类型应具有的方法,类型决定如何实现这些方法。创建和实现interface在Golang中只要实现了接口定义的方法,就是(JAVA im...原创 2019-03-30 21:13:24 · 396 阅读 · 0 评论 -
Golang中的"继承"
go语言是没有继承的,但结构体支持匿名字段,可以利用这个来实现“继承”。类Human。有2个字段:name,sex。有2个方法:walk,eat。类SuperMan。有3个字段:Human,name,level。有2个方法:eat,fly。这是标准说法,但你可以这么理解:SuperMan继承了Human,当然同样继承了所有字段和所有方法。同时又加入了自己的两个字段,其中有一个字段和父类...转载 2019-03-31 10:52:18 · 3591 阅读 · 0 评论 -
闭包的理解
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。下面就是我的学习笔记,对于Javascript初学者应该是很有用的。一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 v...转载 2019-03-31 19:54:43 · 100 阅读 · 0 评论 -
Goroutine并发模型理解
并发(并行),一直以来都是一个编程语言里的核心主题之一,也是被开发者关注最多的话题;Go语言作为一个出道以来就自带 『高并发』光环的富二代编程语言,它的并发(并行)编程肯定是值得开发者去探究的,而Go语言中的并发(并行)编程是经由goroutine实现的,goroutine是golang最重要的特性之一,具有使用成本低、消耗资源低、能效高等特点,官方宣称原生goroutine并发成千上万不成问题...原创 2019-04-10 14:26:40 · 360 阅读 · 0 评论 -
Golang中引用传递理解
先抛出问题:函数传参中值传递、指针传递与引用传递到底有什么不一样? 为什么说slice、map、channel是引用类型? Go中slice在传入函数时到底是不是引用传递?如果不是,在函数内为什么能修改其值?In a function call, the function value and arguments are evaluated in the usual order. ...原创 2019-03-27 19:12:43 · 3538 阅读 · 6 评论 -
golang中四种方式实现子goroutine与主协程的同步
golang中四种方式实现子goroutine与主协程的同步文章出处:赵从亮---原文地址如何实现子goroutine与主线程的同步 第一种方式:time.sleep(),这种方式很太死板,就不演示了。 第二种方式:使用channel机制,每个goroutine传一个channel进去然后往里写数据,在再主线程中读取这些channel,直到全部读到数据了子goroutine...转载 2019-06-27 10:50:08 · 917 阅读 · 0 评论