10 2018 档案
摘要:GoLang的面向对象 通过golang实现面向对象的过程, 以及golang的继承关系 定义了动物, 定义了鸟类,鱼类, 最后的对象是 燕子, Nimo
阅读全文
摘要:目标计算一个slice中求两个值的总和为固定值; a + b = t a = t b 通过构建 map m[t b] = i // i是下标的位置 在构建过程进行判断,如果存在m[a], 则返回 j的位置, // 这部通过hash的方式定位; 计算复杂度是 O(N), 主要是 m[a]寻找的时候是h
阅读全文
摘要:原子操作 直接看atomic的AddInt32不太好理解, 增加一个case进行操作就可以熟练了解; TOTAL基数较小的时候,并不存在问题; TOTAL较大的时候就可以看出,多并发的情况下对共享资源的争抢就会导致增加失败; LoadInt32 在等待当前有在对该变量执行的go,如果routine一
阅读全文
摘要:队列实现 队列实现包括, 创建队列, 入队, 出队, 队列是否为空等等操作 队列是一个循环队列, 不占用空间; 1 2 3 4 5 6 | | q.End { // 进入循环 } pos := (i + q.Front + 1) % FullQ fmt.Printf("%d ", q.Elem[po
阅读全文
摘要:golang实现link 使用golang实现single link过程, 许久没有编写数据结构的实现方式, 编写过程需要关注 1. link的关注点, 在进入函数的时候需要重新定义一个link指针; 2. 增加一个head进行判断,会省去head节点的判断, 浪费一个节点; 3. link的nex
阅读全文
摘要:栈的Golang实现过程 自己写了一个Stack的实现方式, 三种方法 自己写的 通过golang的slice方式实现, 偏向结构化的方式实现; 参考网络一 通过对象的方式实现 参考网络资源二 增加lock模式 这样在多协程的方式下也能正常处理; godoc的参考代码实现
阅读全文
浙公网安备 33010602011771号