go专家编程
文章平均质量分 64
《go专家编程》 《go并发编程实战》的部分学习笔记与心得
EINTR
Talk is cheap. Show me the code.
展开
-
golang 实现简单的令牌桶
golang 实现简单的令牌桶令牌桶算法图示令牌桶按固定的速率往桶里放入令牌,并且只要能从桶里取出令牌就能通过,令牌桶支持突发流量的快速处理。对于从桶里取不到令牌的场景,我们可以选择等待也可以直接拒绝并返回。代码实现type TBF interface { Fetchtoken(int64) (int64, error) Returntoken(int64) (int64, error) Destory() error}type tbf_st struct { cps int原创 2021-06-10 21:15:40 · 532 阅读 · 0 评论 -
go专家编程系列(7)方法
方法原创 2021-03-21 10:48:08 · 167 阅读 · 0 评论 -
gin框架快速入门
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title></title></head><body>{{ $v1 := 100 }}{{ if $v1 }}{{ $v1 }}{{ else }}test{{ end }}{{ range $idx,$val := . }} <p>原创 2021-03-20 20:39:38 · 415 阅读 · 0 评论 -
go专家编程系列(1)常见数据结构 string
字符串文章目录字符串从编码说起解决方案string in golang字符串拼接类型转换[]byte 转 stringstring 转 []byte总结从编码说起一个字节由8个比特组成,当比特位全为0时代表数字0,全为1时代表数字255,一个字节可以表示256个数字,2个字节可以表示65536个数字。而字符的表示方法与之不同,是通过将字符进行编号,比如将A编号为65,对应二进制的01000001是这个字符的编码,通过这种映射关系可以将字符以比特的形式存起来,而这种映射关系就是字符集。常原创 2021-01-29 11:08:37 · 157 阅读 · 0 评论 -
go专家编程系列(2)常见数据结构 slice
切片文章目录切片slice总结slicetype slice struct { array unsafe.Pointer len int cap int}以上是go中slice的声明 对于var ints []int这总结提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。...原创 2021-01-29 16:53:23 · 172 阅读 · 1 评论 -
go专家编程系列(4)常见数据结构 map
map文章目录maphash与buckets取模法与运算法解决hash冲突map in golanghash与buckets说到键值对的存储,我们就会想到哈希表,哈希表通常会有一堆桶来存储键值对,一个键值对来了自然要存到一个桶中。首先将key通过hash()处理一下得到一个hash值,现在要利用这个hash值从m个桶中选择一个,桶的编号区间 [0,m-1] 。取模法hash%m与运算法hash & (m-1)想要使用与运算法就要限制桶的个数 m 必须是2 的整数次幂,这样原创 2021-02-01 20:48:23 · 157 阅读 · 0 评论 -
go专家编程系列(3)常见数据结构 iota
iota我们知道iota常用于cost表达式中,其值是从0开始的,const声明快中每增一行,iota值自增1const ( a0,b0 = 1<< iota, 1 << iota - 1 a1,b1 _,_ a3,b3)注意iota标识符只能用于常量表达式中,那么想要了解iota是如何运作的,就要看看go的编译器是如何处理常量声明的。...原创 2021-02-01 19:58:28 · 92 阅读 · 0 评论 -
go专家编程系列(5)函数
函数函数的一生我们按照编程语言的语法定义的函数,会被编译器编译为一对对机器指令,写入可执行文件,程序执行时,可执行文件被加载到内存,这些机器指令对应到虚拟空间地址中,位于代码段,如果在一个函数中调用另一个函数,编译器就会对应生成一条call指令,程序执行到这一条指令时,就会跳到函数如后出开始执行,而每个函数的最后都有一条ret指令,负责在函数结束后条会到调用处继续执行。运行时内存的布局如图在golang中,函数栈帧布局是这样的call指令只做两件事将下一条指令的地址入栈,也就是返回地址跳原创 2021-03-02 10:39:33 · 100 阅读 · 0 评论 -
go专家编程系列(6)闭包
闭包函数的特殊地位函数在go中是头等对象func A(){ ...}作为参数传递func B(f func()){ ...}作为返回值func C() func() { return A}绑定到变量var f func() = C()go称这样的参数、返回值或变量为function value函数的指令在编译期间生成,而function value本质上是一个指针,但是并不直接指向函数指令入口,而是指向一个runtime.funcval结构体,原创 2021-03-02 08:42:14 · 125 阅读 · 0 评论