自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 Go语言学习笔记——方法

方法的声明方法的声明和普通函数类似,只是在函数名字前面多了一个参数,这个参数把这个方法绑定到这个参数对应的类型上,例:type Point struct{ X, Y float64 }func (p Point) Distance(q Point) float64 { return math.Hypot(q.X-p.X, q.Y-p.Y)}指针接收者的方法由于主调函数会复制...

2019-08-30 20:06:26 167 1

原创 Go语言学习笔记——函数

函数声明每个函数都包含一个名字、一个形参列表、一个可选的返回列表以及函数体:func name(parameter-list) (result-list) { body}当函数存在返回列表时,必须显示地以return语句结束,除非函数明确不会走完整个执行流程,比如在函数中抛出宕机异常挥着函数体内存在一个没有break退出条件的无限for循环函数的类型称为函数签名,当两个函数拥...

2019-08-29 09:58:41 131

原创 5分钟用Go语言实现一个协程池

近期在学习Go语言,自己实现了一个很简单的协程池,记录一下实现过程总体架构可以看到,架构很简单,就是客户通过Channel传一些任务给协程池,然后协程池里的worker就会执行Task结构体type Task struct { taskId int f func() error}Task结构体很简单,一个id,一个要执行的函数// Task的构造函数func NewTask...

2019-08-26 17:52:55 3393 3

原创 Go语言学习笔记——struct

结构体是将零个或这多个任意类型额命令变量组合在一起的聚合数据类型成员变量成员通过.号方式来访问结构体是一个变量,它的所有成员都是变量,因此可以给结构体的成员赋值。或者获取成员变量的地址,然后通过指针来访问它如果一个结构体变量名称是首字母大写的,那么这个变量是可导出的,这个是Go最主要的访问控制机制命令结构体类型S不可以定义一个拥有相同结构体类型S的成员变量,也就是一个聚合类型不可以包含...

2019-08-25 16:51:56 154

原创 Go语言学习笔记——map

map是散列表的引用,map的类型为map[K]V,K和V是字典的键和值对应的数据类型,map中所有的键都拥有相同的数据类型,同时所有的值都拥有相同的数据类型,但键的类型和值的类型不一定相同键的类型K必须是可以通过操作符==来进行比较的数据类型,所以map可以检测某一个键是否已经存在初始化内置函数make创建ages := make(map[string]int) // 创建一个...

2019-08-25 15:40:44 149

原创 Go语言学习笔记——数组、slice

数组数组是具有固定长度且拥有零个或多个相同数据类型元素的序列由于数组固定长度,因此用的比较少,slice的长度是动态的,用的更多初始化默认初始化为元素类型的零值var a [3]int省略号出现在数组长度的位置,那么数组的长度由初始化的元素个数决定q := [...]int{1, 2, 3}fmt.Println("%T\n", q) // "[3]int"通过指定...

2019-08-23 13:55:56 178

原创 半小时学会什么是分布式一致性算法——Paxos

Paxos目标:复制日志复制日志 => 复制状态机所有服务器按照相同的顺序执行相同的命令一致性模型确保正确的日志复制只要大部分服务器是运行的系统就能工作失败的模型:失败-停止(非拜占庭),延迟/丢失信息Basic PaxosProposers:活动的:提出特定的值被选中处理客户请求Acceptors:被动的:响应消息给proposers回应达成...

2019-08-19 09:38:35 27846 2

原创 半小时学会分布式一致性算法——Raft

Raft目标:日志复制日志复制 => 复制状态机所有服务器以一样的顺序执行一样的命令一致性模型确保合理的日志复制只要大多数服务器能运行,系统就能服务失败模型:失败-停止(非拜占庭)、延迟/丢失消息达成一致性的方法两种方法:对等的,leader-less:所有服务器扮演同样的角色客户可以与任意一个联系非对等的,leader-based:在任意给定...

2019-08-19 09:37:48 607

原创 Linux下kafka部署及简单测试

依赖kafka依赖zookeeper,而zookeeper又依赖JavaJava就不讲怎么安装了,应该都装过了,验证Java是否安装成功:$ java -versionopenjdk version "1.8.0_171"OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-2-b11)OpenJDK 64-Bit Server ...

2019-08-19 00:30:34 2266

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除