随笔分类 -  golang

上一页 1 2 3 4 下一页
go中string是如何实现的呢
摘要:go中string是如何实现的呢 前言 实现 go语言中的string是不可变的 []byte转string string转[]byte 字符串的拼接 +方式进行拼接 fmt 拼接 Join 拼接 buffer 拼接 builder 拼接 测试下几种方法的性能 字符类型 byte rune 内存泄露 阅读全文
posted @ 2021-01-23 23:31 ZhanLi 阅读(1238) 评论(0) 推荐(0) 编辑
字符编码-字库表,字符集,字符编码
摘要:字符编码笔记 前言 字符类型 什么是字符集 字库表 编码字符集(字符集) 字符编码(编码方式) ASCII 码 Unicode Unicode和ASCII的区别 UTF-8编码 UTF-8和Unicode的关系 乱码 总结 参考 字符编码笔记 前言 最近在看go中string的源码,发现字符中的几个 阅读全文
posted @ 2021-01-13 13:12 ZhanLi 阅读(905) 评论(0) 推荐(0) 编辑
go中的sync.pool源码剖析
摘要:sync.pool sync.pool作用 使用 适用场景 案例 源码解读 GET pin pinSlow getSlow Put poolChain popHead pushHead pack/unpack popTail 缓存的回收 总结 参考 sync.pool sync.pool作用 有时候 阅读全文
posted @ 2021-01-01 16:00 ZhanLi 阅读(555) 评论(0) 推荐(0) 编辑
GO中的GC
摘要:go中的垃圾回收 前言 垃圾回收 go中的垃圾回收方式 三色标记法 根对象 STW 屏障技术 插入屏障 删除屏障 混合写屏障 GO中GC的流程 GC的触发时机 如果内存分配速度超过了标记清除的速度怎么办? 如何观察GC GC如何优化 GO中GC的演进过程 总结 参考 go中的垃圾回收 前言 对于go 阅读全文
posted @ 2020-12-18 16:04 ZhanLi 阅读(1068) 评论(0) 推荐(0) 编辑
小白学k8s(4)使用k8s发布go应用
摘要:k8s发布go应用 前言 部署 镜像打包 编写yaml文件 使用ingress 什么是ingress呢 ingress与ingress-controller ingress 部署ingress 配置ingress转发策略 添加本机的host 参考 k8s发布go应用 前言 搭建了一套K8s,尝试发布 阅读全文
posted @ 2020-12-02 09:24 ZhanLi 阅读(924) 评论(0) 推荐(0) 编辑
小白学k8s(1)二进制部署k8s
摘要:二进制部署k8s 前言 准备工作 关闭防火墙 关闭 swap 分区 关闭 SELinux 更新系统时间 秘钥免密码 设置主机名称 服务器角色 安装etcd 创建证书 生成证书 部署Etcd 在Node安装Docker Flannel网络 master节点部署组件 生成证书 配置apiserver组件 阅读全文
posted @ 2020-11-18 16:33 ZhanLi 阅读(560) 评论(0) 推荐(0) 编辑
gRPC学习小札
摘要:gRPC 前言 为什么使用gRPC 传输协议 传输效率 性能消耗 gRPC入门 gRPC流 证书认证 使用根证书 gRPC实现token认证 和Web服务共存 验证器 REST接口 grpcurl工具 查看服务列表 查看某个服务的方法列表 查看某个服务的描述信息 获取类型信息 测试请求 参考 gRP 阅读全文
posted @ 2020-10-27 10:23 ZhanLi 阅读(296) 评论(0) 推荐(0) 编辑
使用protobuf生成代码import包找不到
摘要:protobuf使用import导入包找不到 前言 解决方案 protobuf使用import导入包找不到 前言 使用protobuf生成go代码,发现protobuf中一个import引用找不到 protobuf代码 syntax = "proto3"; package main; import 阅读全文
posted @ 2020-10-26 10:39 ZhanLi 阅读(5560) 评论(0) 推荐(0) 编辑
go中channel源码剖析
摘要:channel 前言 设计的原理 共享内存 csp channel channel的定义 源码剖析 环形队列 创建 写入数据 读取数据 channel的关闭 优雅的关闭 M个receivers,一个sender 一个receiver,N个sender M个receiver,N个sender 关闭的 阅读全文
posted @ 2020-10-14 10:03 ZhanLi 阅读(994) 评论(0) 推荐(0) 编辑
go中的sync.RWMutex源码解读
摘要:读写锁 前言 什么是读写锁 看下实现 读锁 RLock RUnlock 写锁 Lock Unlock 问题要论 写操作是如何阻止写操作的 写操作是如何阻止读操作的 读操作是如何阻止写操作的 为什么写锁定不会被饿死 两个读锁之间穿插了一个写锁 参考 读写锁 前言 本次的代码是基于go version 阅读全文
posted @ 2020-09-19 19:47 ZhanLi 阅读(640) 评论(0) 推荐(0) 编辑
silce的扩容,截取,使用规范总结
摘要:切片 什么是slice slice的创建使用 slice使用的一点规范 slice和数组的区别 slice的append是如何发生的 复制Slice和Map注意事项 接收 Slice 和 Map 作为入参 返回 Slice 和 Map 切片的截取 不发生扩容情况下修改新切片 发生扩容情况下修改新的切 阅读全文
posted @ 2020-09-19 00:27 ZhanLi 阅读(340) 评论(0) 推荐(0) 编辑
Go中sync.map使用小结
摘要:sync.map 前言 深入了解下 查看下具体的实现 Load Store Delete LoadOrStore 总结 流程图片 参考 sync.map 前言 Go中的map不是并发安全的,在Go1.9之后,引入了sync.Map,并发安全的map。 深入了解下 对于map,我们常用的做法就是加锁。 阅读全文
posted @ 2020-09-13 00:06 ZhanLi 阅读(10617) 评论(0) 推荐(0) 编辑
Go语言的原子操作atomic
摘要:atomic 原子操作 Go中原子操作的支持 CompareAndSwap(CAS) Swap(交换) Add(增加或减少) Load(原子读取) Store(原子写入) 原子操作与互斥锁的区别 atomic.Value Load Store 总结 参考 atomic 原子操作 原子操作即是进行过程 阅读全文
posted @ 2020-09-10 22:30 ZhanLi 阅读(13919) 评论(0) 推荐(2) 编辑
通过docker-compose搭建mongo的replica set高可用
摘要:通过docker-compose搭建mongo的replica set高可用 前言 备份数据 备份数据到本地 数据恢复 集群搭建 生成keyFile 创建yml文件 初始化副本集 增加副本集 将节点初始化也放到yml中 了解下Replica set 测试连接 通过docker-compose搭建mo 阅读全文
posted @ 2020-07-05 01:21 ZhanLi 阅读(2500) 评论(1) 推荐(1) 编辑
go中bufio使用小结
摘要:bufio 前言 例子 bufio 源码解析 Reader对象 实例化 ReadSlice ReadString ReadLine Peek Scanner Give me more data Error Writer 对象 实例化 Available Buffered Flush 写入的方法 Re 阅读全文
posted @ 2020-06-24 16:29 ZhanLi 阅读(6667) 评论(0) 推荐(2) 编辑
go中bytes.Buffer使用小结
摘要:buffer 前言 例子 了解下bytes.buffer 如何创建bytes.buffer bytes.buffer的数据写入 写入string 写入[]byte 写入byte 写入rune 从文件写入 数据写出 写出数据到io.Writer Read ReadByte ReadRune ReadB 阅读全文
posted @ 2020-06-24 16:21 ZhanLi 阅读(11109) 评论(0) 推荐(1) 编辑
Docker中Nginx部署go应用
摘要:docker配合Nginx部署go应用 Nginx 名词解释 正向代理 反向代理 构建镜像 Nginx镜像 配置nginx.conf server_name Nginx中的负载均衡 轮询 upstream块 server ip_hash 最少连接 参考 docker配合Nginx部署go应用 Ngi 阅读全文
posted @ 2020-05-31 01:40 ZhanLi 阅读(1525) 评论(0) 推荐(0) 编辑
go中的类型转换成interface之后如何复原
摘要:"go中interface转换成原来的类型" "首先了解下interface" "什么是interface?" "如何判断interface变量存储的是哪种类型" "fmt" "反射" "断言" "来看下interface的底层源码" "eface" "iface" "接口的动态类型和动态值" "i 阅读全文
posted @ 2020-05-17 21:04 ZhanLi 阅读(7234) 评论(0) 推荐(0) 编辑
go1.13errors的用法
摘要:"go1.13errors的用法" "前言" "基本用法" "fmt.Errorf" "Unwrap" "errors.Is" "As" "扩展" "参考" go1.13errors的用法 前言 go 1.13发布了 的一些新的特性,那么就来探究学习下。 基本用法 fmt.Errorf 使用 加上 阅读全文
posted @ 2020-04-14 09:07 ZhanLi 阅读(666) 评论(0) 推荐(0) 编辑
go中的error小结
摘要:"go中的error" "error和panic" "error接口" "go中err的困局" "推荐方法" "总结" "参考" go中的error go中的错误处理,是通过返回值的形式来出来,要么你忽略,要么你处理(处理也可以是继续返回给调用者),对于golang这种设计方式,我们会在代码中写大量 阅读全文
posted @ 2020-04-12 00:50 ZhanLi 阅读(1750) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 下一页