GO
Running-Waiting
用最好的年华来担保说出来都可能被嘲笑的理想
展开
-
Go——字符串与整形互转问题
理论是灰色的,但实践之树长青????概要最近用go实现RUDP的过程中遇到服务端和客户端数据传输问题,涉及到字符串和整形数字互转的问题,遇到的坑在这里总结记录一下,共同学习!代码为了在服务端向客户端回传整形数字,这里采用先将数字转换为字符串,然后通过字节数组回传,但是在解析过程中debug发现解析错误,如图所示:服务端代码客户端代码问题在于string的强转是不对的,string(...原创 2020-04-24 23:36:31 · 2008 阅读 · 2 评论 -
Slice详解
前言切片是一种复合数据类型,与数组类似,存放相同数据类型的元素,但数组的大小是固定的,而切片的大小可变,可以按需自动改变大小。切片是基于底层数组实现的,是对数组的抽象。切片很小,只有三个字段的数据结构:指向底层数组的指针、能访问的元素个数(即切片长度)和允许增长到的元素个数(即切片容量)。如上图所示,一个长度为3、容量为5的整型切片的底层结构。声明与初始化make()创建使用内置函数...转载 2020-02-21 10:21:21 · 2212 阅读 · 0 评论 -
goroutine调度器
Go语言在2016年再次拿下TIBOE年度编程语言称号,这充分证明了Go语言这几年在全世界范围内的受欢迎程度。如果要对世界范围内的gopher发起一次“你究竟喜欢Go的哪一点”的调查,我相信很多Gopher会提到:goroutine。Goroutine是Go语言原生支持并发的具体实现,你的Go代码都无一例外地跑在goroutine中。你可以启动许多甚至成千上万的goroutine,Go的ru...转载 2020-02-19 14:20:14 · 358 阅读 · 0 评论 -
Go语言中接口详解
Go语言的接口应该如何理解呢?它和Java等其他语言的区别在哪里呢?答:其实Go语言的接口和其他一些面向对象编程的语言一样,都是抽象方法的一个集合,不同点在于接口的实现和变量赋值。接口的实现:与其他语言相比,GO中的接口实现并不需要显示的声明!只要一个类型中包含有某一接口的全部方法,并且这些对应方法的命名、传入参数和返回类型都完全匹配,那么该类型就可以当做此接口的实现,不需要额外声明。...原创 2019-12-30 21:39:45 · 318 阅读 · 0 评论 -
利用管道(channel)实现同步
GO语言实现同步的方式有很多,互斥量(sync.Mutex)、channel通信等等;今天总结一下Go中的channel方式!channel通信包含两种模式:一种是带无缓冲的channel,另一种是有缓冲的channel;1、无缓冲方式在无缓存的channel上的每一次发送操作都会有对应的接受操作相配对,发送和接受操作通常发生在两个goroutine上(在同一个goroutine上执行...原创 2019-12-30 18:51:27 · 1027 阅读 · 2 评论