![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Go
文章平均质量分 59
Go 编程
tiechui1994
我性格比较开朗,喜欢交朋友!!
展开
-
Go 编译移动端程序
Go 程序编译成 Android/iOS 的jar包或者二进制程序原创 2022-11-16 09:53:56 · 1210 阅读 · 1 评论 -
关于文件变化监听, 你了解多少?
监听文件变化的实现Linux下inotify特性:inotify是内核一个特性, 可以用来监控目录, 文件的读写等事件. 当监控目标是目录时, inotify除了会监控目录本身, 还会监控目录中的文件. inotify的监控功能由如下几个系统调用组成: inotify_init1, inotify_add_watch, inotify_rm_watch,read 和 close.inotify的主要操作基于inotify_init1返回的 inotify 文件描述符, 该描述符的作用类似于 ep原创 2022-01-07 18:41:22 · 3580 阅读 · 1 评论 -
Go 当中 JSON 常用技巧
json忽略 struct 空字段忽略 struct 空字段, 使用 omitemptytype User struct{ Email string `json:"email,omitempty"` Pwd string `json:"pwd,omitempty"`}临时粘合两个structtype BlogPost struct{ URL string `json:"url"`}type Analytics struct{ Visitors原创 2020-12-15 10:33:55 · 344 阅读 · 0 评论 -
详细介绍Go交叉汇编ARM
Go 交叉编译说明: 以下的交叉编译主机是在 x86_64 Ubuntu 16.04 平台下进行的.Go 交叉编译涉及的编译参数:GOARCH, 目标平台的 CPU 架构. 常用的值 amd64, arm64, i386, armhfGOOS, 目标平台, 常用的值 linux, windows, drawin (macOS)GOARM, 只有 GOARCH 是 arm64 才有效, 表示 arm 的版本, 只能是 5, 6, 7 其中之一CGO_ENABLED, 是否支持原创 2020-11-29 14:30:27 · 1361 阅读 · 0 评论 -
学习 Go自己的一点看法
首先, 去学习一下官方的入门教程. 这个只是一个大概了解的教程, 简单介绍一些简单的东西, 并没有太多的说明.tour.golang.org(中文)开发环境这里也可以忽略不看,因为每一个教程都会介绍怎么配置环境操作系统我个人十分推荐使用 Linux, 可以使用 Ubuntu 或 Deepin. 桌面都做的挺不错的. 当然了有条件了可以使用 Mac开发环境Go 的开发环境安装十分简洁, 依赖很少. 如果是 Linux 下安装基本上下载一个二进制包, 解压, 放到一个目录下, .原创 2020-11-15 13:37:50 · 1418 阅读 · 0 评论 -
万余字带你认识 go chan 底层是如何设计的
golang channel 源码解析欢迎大家关注微信公众号后端开发杂谈, 这里有更多实用的干货等着你来拿!简介: channel 是 go 当中一个经常使用到的数据结构, 它经常用在并发通信当中. 如果只是知道它的用法, 而不了解其底层的原理是一个很大的损失. 本文带你去深入理解 chan 底层设计的原理.数据结构type hchan struct { qcount uint // chan 里元素的数量 dataqsiz uint // cha原创 2020-11-04 18:04:30 · 319 阅读 · 0 评论 -
Go sync.Map 并发效率为什么那么高?
Go sync.Map 设计背后的并发思想简介: 对于熟悉 Go 语言的同学都知道, Go 自身的 map 是不支持并发读写, 并发写的, 为了解决这个问题, Go 官方提供了 sync.Map 专门支持并发读写的问题. 本文依据 sync.Map 的源码, 解读 sync.Map 背后的设计思想.Map类型针对两种常见用例进行了优化:(1)给定键的条目仅写入一次但多次读取(例如仅在增长的高速缓存中),(2)当多个goroutine读取, 写入时, 并覆盖不相交的键集的条目.在这两种情况下,原创 2020-10-30 13:43:50 · 382 阅读 · 1 评论 -
3万字详解Go 是如何设计Map的
golang map 源码解析文章可能有些长, 主要分为以下的几个大块, 如果有同学觉得文章太长, 可以选择自己感兴趣的内容进行阅读.map 数据的数据结构辅助函数, 在map的操作当中涉及的一些函数map 创建map 插入map 查询map 扩容与数据搬移map 删除map 迭代数据结构与实际的数据结构map 中的数据被存放在一个数组中的, 数组的元素是桶(bucket), 每个桶至多包含8个键值对数据. 哈希值低位(low-order bits)用于选择桶, 哈希值高位(hi原创 2020-10-27 20:48:27 · 359 阅读 · 0 评论 -
Go监控文件的原理及代码实现
监听文件变化的实现Linux下inotify特性:inotify是内核一个特性, 可以用来监控目录, 文件的读写等事件. 当监控目标是目录时, inotify除了会监控目录本身, 还会监控目录中的文件. inotify的监控功能由如下几个系统调组成: inotify_init1, inotify_add_watch, inotify_rm_watch, read 和 close.inotify的主要操作基于inotify_init1返回的 inotify 文件描述符, 该描述符的作用类似于 epol原创 2020-10-13 22:22:04 · 991 阅读 · 0 评论 -
Golang 修改对象非导出字段的值
reflect 修改对象非导出字段的值在 Go 的 struct 当中, 小写字段是非导出的, 即不可以从包外部访问.但非导出的字段在外部也并不是没有办法访问, 也不是不可以修改的.reflect 取地址访问和修改非导出字段函数 reflect.NewAt:// NewAt返回一个Value, 该指针表示一个指向指定类型, 使用p作为该指针.func NewAt(typ Type, p unsafe.Pointer) Value { fl := flag(Ptr) t := typ.(*rt原创 2020-09-01 17:44:38 · 1010 阅读 · 2 评论 -
Ubuntu当中GoLand崩溃问题
GoLand 使用过程中的问题在 Ubuntu 16.04 版本中, 无法输入中文的问题.默认情况下, Ubuntu 16.04 使用的键盘输入法是 IBus. 可以选择安装键盘输入法是 fcitx 的 sogoupinyin. 删除掉系统默认的 IBus (可选, 小心操作).在使用 fcitx 键盘输入法的基础上, 可以修改 GoLand 的启动执行脚本, 从而解决上述的问题. 操作步骤如下:安装 sogoupinyin首先从搜狗拼音官网上下载最新版本的 sogoupinyin, 官网地原创 2020-08-21 11:29:07 · 1231 阅读 · 0 评论 -
Golang List 源码解析
Listgolang 里的 List (在container/list包当中) 是一个特殊的双向链表.每一个元素会直接指向链表的"哨兵节点".数据结构:// 链表元素 type Element struct { // 链表的元素中的下一个和上一个指针. // 为了简化实现, 内部将列表 l 实现为环, 这样 &l.root 既是最后一个列表元素( l.Back() )的下一个元素, // 也是第一个列表元素( l.Front() ). next, prev *Eleme原创 2020-07-11 16:38:26 · 258 阅读 · 0 评论 -
golang sql 解析
sql Pool数据结构介绍DBDB 是一个数据库句柄, 包含了零个或多个基础连接的池. 对于多个goroutine并发使用是安全的.sql package 自动 create 和 release 连接;它还维护空闲连接的空闲池.如果数据库具有 连接状态 的概念, 则可以在事务(Tx)或连接(Conn)中可靠地观察到这种状态.调用 DB.Begin() 之后, 返回的 Tx 将绑定...原创 2020-05-01 00:25:34 · 1802 阅读 · 0 评论 -
Go Client 核心解析
Go Client 核心解析相关 structtype Client struct { Transport RoundTripper CheckRedirect func(req *Request, via []*Request) error Jar CookieJar Timeout time.Duration}Client 字段的解析:Client 是HTTP客户端....原创 2020-04-25 16:45:46 · 1409 阅读 · 0 评论 -
Golang PDF导出(多语言)
gopdf 介绍gopdf 是一个比较完善的PDF导出库, 它整合了第三方库, 更加方便用户开发和使用. 它有以下特点:支持 Unicode 字符 (包括中文, 日语, 朝鲜语, 等等.)PDF 文档自动分页PDF 文档自动换行PDF 文档自动化全局定位, 不需要用户去手动定位PDF 默认的配置选项简单, 且已经内置了常用的几种方式PDF 文档采用类似 html 页面的属性设置, ...原创 2019-04-02 15:52:38 · 8990 阅读 · 7 评论