自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 三个小时入门Go语言

基础知识(1h)引入变量类型运算符控制语句作用域面向对象(1h)结构体方法包并发编程(1h)Goroutinechannel

2020-01-26 13:35:11 398

原创 Golang 学习笔记-----包

包介绍包定义包的可见性包的导入包的初始化常用包os包time包bytes包fmt包path/filepath包encoding/json 包bufio包os/exec包protobuf 包strconv 包context包database/sql包runtime包flag包os/signal包...

2020-01-26 13:27:17 276

原创 Golang 学习笔记-----方法

概念使用(1)当使用值接收者声明方法,调用时会使用这个值的一个副本来执行。此时该类型的值不会被改变,例:type user struct { name string email string}func (u user) changeEmail0(email string){ u.email = emailfmt.Println("in func"...

2020-01-26 13:00:21 150

原创 Golang 学习笔记-----Channel

概念声明初始化操作 发送 接收 关闭 判断关闭分类 有缓冲通道 无缓冲通道 单向通道异常概念单纯地将函数并发执行是没有意义的。函数与函数间需要交换数据才能体现并发执行函数的意义。虽然可以使用共享内存进行数据交换,但是共享内存在不同的goroutine中容易发生竞态问题。为了保证数据交换的正确性,必须使...

2020-01-26 11:19:55 596

原创 Golang 学习笔记-----Goroutine

引入关于并发与并行关于协程关于goroutine使用单个多个池同步介绍互斥锁读写锁原子操作执行 可增长的栈 goroutine调度 GOMAXPROCS回收sync.WaitGroupsync.Oncesync.Map...

2020-01-26 11:06:39 579

原创 Golang 学习笔记-----基础数据类型

整型一般整型整型分为以下两个大类: 按长度分为:int8、int16、int32、int64 对应的无符号整型:uint8、uint16、uint32、uint64其中,uint8就是我们熟知的byte型,int16对应C语言中的short型,int64对应C语言中的long型。类型 描述 uint8 无符号 8位整型 (0 到 255) uint16 ...

2020-01-26 01:14:15 370

原创 Golang 学习笔记----作用域

2020-01-25 21:03:27 191

原创 Golang 学习笔记-----控制语句

一、if else语句1.1 基本语法1.2 示例二、switch语句2.1 基本语法2.2 示例三、for 语句3.1for结构简介3.2基于计数器的for循环3.3基于条件判断的for循环3.4for-range结构3.5无限循环四、Break 与 continue4.1 break语句4.2 continu...

2020-01-25 21:02:16 203

原创 Golang 学习笔记-----运算符

一、算数运算符二、关系运算符三、逻辑运算符四、位运算符五、赋值运算符六、其他运算符七、运算符优先级一、算数运算符下表列出了所有Go语言的算术运算符。假定 A 值为 10,B 值为 20。运算符 描述 实例 ...

2020-01-25 20:58:38 278

原创 Golang 学习笔记-----类型

概念类型声明概念使用作用区别类型转换类型分类基础数据类型数值类型布尔类型字符类型字符串类型复合数据类型 array数组 slice切片 pointer指针 map字典 struct结构体 ...

2020-01-25 20:43:43 216

原创 Golang 学习笔记-----变量

命名命名规则关键字重复访问范围命名风格声明初始化一般变量初始化默认变量初始化简短变量初始化new变量初始化使用原理make变量初始化使用原理作用范围生命周期 垃圾回收机制赋值基本赋值操作元组赋值操作命名命名规则一个名字必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意 数量的字...

2020-01-25 18:53:54 321

原创 Golang 学习笔记-----引入

语言特性程序结构编译执行语言特性1、语法规范。Go语言实现了语法规范的高度统一,例如Go语言规定大写字母开头是公开类型,而小写字母开头是私有类型,真正做到了语言规范的最高境界之“望文知义”。而在C++开发代码里没有这样的规定,因此看到一个类的成员变量名称,还需要跳转到类的定义才能确定它的访问级别。Go语言强制规定了语法规范(不符合规范的代码无法编译通过),在工程中非...

2020-01-25 16:19:27 292

原创 两种并发模式:半同步半异步 领导者追随者

介绍半同步半异步 介绍 变体 半同步半反应堆 高效的半同步半反应堆领导者追随者 介绍 实现 组成 过程 优缺点介绍并发模式是指IO处理单元和多个逻辑单元之间协调完成任务的方法主要有半同步半异步领导者追随者两种模式。半同步半异步介绍同步线程是指线程程序完全按照代码序列...

2020-01-13 13:58:08 449

原创 Reactor模式和Proactor模式

Reactor模式原理讲解实现方案优点缺点Proactor模式原理讲解实现方案异步IO实现同步IO实现两者对比Reactor模式原理讲解实现方案优点缺点Proactor模式原理讲解实现方案异步IO实现同步IO实现两者对比...

2020-01-13 11:14:08 270

原创 有限状态机

有限状态机的概念:有限状态机的应用:有限状态机的概念:什么叫有限状态机呢? 举个例子 state_machine(Package _pack) { PackageType _type=_pack.getType(); switch(_type) { case type_A: ...

2020-01-12 17:53:30 421

原创 从零开始实现Web服务器(二)----服务器程序的程序结构

服务器程序的程序结构知识脉络概览模块划分 I/O处理单元 逻辑单元 网络存储单元 请求队列模块配合模式 事件处理模式 并发模式模块实现基础 多进程技术 多线程技术优化方向 池化技术 数据复制 上下文切换和锁服...

2020-01-12 12:27:38 335

原创 从零开始实现Web服务器(一)----服务器程序的关系模型

本系列的整体结构划如下可以关注我的微信公众号Geek极客星球 获取完整的思维导图整理+代码实现服务器程序的关系模型c/s模型概念:全称 Client/Server模型 即客户端访问服务器来获取所需的资源,因为资源被数据提供者垄断适合资源集中的场合 优点: 实现简单缺点: 服务器在多个客户端并发访问时性能会很慢例子: 比如微信/客户端QQ等是基于C/S...

2020-01-12 11:17:25 472

空空如也

空空如也

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

TA关注的人

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