Go
文章平均质量分 70
编程语言-Go
weisman2
后端开发 | 等死咸鱼 |半故九万字,折枝花满衣
展开
-
当我在谈编程......(一)什么是程序?
程序 = 数据结构+算法一开始,程序 = 算法一开始数据结构可以没有(严格说来不可能,就简单的称为“只使用编程语言内置的类型,不同语言支持的类型不太一样,但是int,float,string是比较通用的类型”),那程序就退化为纯粹的算法。这个时候程序几乎是无状态的,函数接受输入,产生输出,很符合unix的哲学Modularity:写简单的程序,并用好的接口连接它们;// 猜猜这是干啥的(可以在go项目下面试试) find `pwd` -name "*_test.go" | xargs -I {} g原创 2021-06-16 00:08:14 · 244 阅读 · 0 评论 -
Go,我该用值 OR 指针?
TL;DRGo语言类型系统buildIngo语言的基本数据类型(buildin类型)结构都定义在src/reflect/type.goconst ( Invalid Kind = iota Bool Int Int8 Int16 Int32 Int64 Uint Uint8 Uint16 Uint32 Uint64 Uintptr Float32 Float64 Complex64 Complex128 Array Chan Func Interface原创 2021-06-15 14:51:29 · 545 阅读 · 0 评论 -
[动手实现] IO模式:NIO:主从Reactor
NIO基础NIO(Non-blocking IO) 是一种同步非阻塞支持面向缓冲的,基于通道的I/O,也是IO多路复用的基础,主要是解决高并发 或者 处理海量连接,IO处理问题IO模式所有的IO模式都分为两个阶段, 一是等待就绪(准备数据)也就是从网卡copy到内核缓存区(从内核缓存区copy到网卡), 二是真正的操作(读,写) 也就是从内核缓存区copy到用户地址空间;IO模式等待就绪阶段 是否阻塞读写、拷贝阶段 是否阻塞BIO (Blocking IO)是是NIO原创 2021-06-14 12:31:12 · 222 阅读 · 1 评论 -
【脑补+发挥】GO最佳实践:可维护GO程序的指南
原文地址 https://dave.cheney.net/practical-go/presentations/qcon-china.html1.指导原则如果我要用任何编程语言讨论最佳实践,我需要一些方法来定义我的最佳含义。如果您昨天参加我的主题演讲,您会看到Go团队负责人Russ Cox的这段话:当您增加时间和其他程序员时,软件工程就是编程发生的事情。—罗斯·考克斯(Russ Cox)Russ在软件编程和软件工程之间做出了区分。前者是您自己编写的程序,后者是随着时间的推移许多人会使用的产品.原创 2021-06-13 00:11:41 · 303 阅读 · 0 评论 -
Go语言的Map和Redis的Set比较
Go MapRedis Set可以看到是很接近的,几个基本点Go Map负载因子load_factor = 6.5key冲突 -> overflow增量扩容 :load_factor>6.5,<1024翻倍或者1/4等量扩容:overflow>max(2^15, key),空洞太多动态扩容:2个bucket,迁移old-new时rehash,标记key是否已经迁移GO MapRedis Set...原创 2021-06-12 15:52:17 · 355 阅读 · 0 评论