go-carbon 2.2.3版本发布, 轻量级、语义化、对开发者友好的Golang时间处理库
carbon 是一个轻量级、语义化、对开发者友好的 Golang 时间处理库,支持链式调用、农历和 gorm、xorm 等主流 orm目前已被 awesome-go-cn 收录,如果您觉得不错,请给个 star 吧github.com/golang-module/carbongitee.com/golang-module/carbon更新日志新增 Time2Carbon 的别名方法 FromSt....
Golang标准库揭秘系列 | Reflect 反射
theme: smartbluehighlight: vs2015 全文字数 : 8K+ 阅读时长 : 10min 关键词汇 : golang / reflect 欢迎关注 : 大摩羯先生什么是反射 这篇主要聊聊Golang中的Reflect,也就是反射。Golang是一种强类型、静态类型的语言,在编译期就已经确定好每个变量的类型,反射提供的是程序在运行时可以访问、检测、修改自身状态或行为的一....
Golang标准库揭秘系列 | unsafe
全文字数 : 3K+ 阅读时长 : 8min 关键词汇 : golang / unsafe 当你阅读Golang源码时一定遇到过unsafe.Pointer、uintptr、unsafe.Sizeof等,是否很疑惑它们到底在做什么?如果不了解这些底层代码在发挥什么作用,一定也无法了解上层应用构建的来由了,本篇我们来剖析下Golang标准库的底层包unsafe!unsafe包 我们基于Go1.....
Golang标准库揭秘系列 | defer详解
theme: smartblue数据结构defer的数据结构定义在$GOROOT/src/runtime/runtime2.go// 大体定义如下,忽略少部分字段type _defer struct { sp uintptr //函数栈指针 pc uintptr //程序计数器 fn *funcval //函数地址 link *_defer //指向自身结构的指针, 用于链接多个defer}规则....
Golang标准库揭秘系列 | slice详解
数据结构slice的定义在$GOROOT/src/runtime/slice.gotype slice struct { array unsafe.Pointer len int cap int}array指针指向底层数组, len表示切片长度, cap表示底层数组容量slice创建通过make创建 //make slice := make([]int, 5, 10)....
Golang标准库揭秘系列 | 初始化流程分析
前言借助gdb来查看go的底层汇编,借此梳理和分析go程序的初始化流程,看看在初始化阶段go都做了哪些工作,对于理解go的工作机制很有帮助。目前是基于go 1.16.4进行的。gdb调试在 搭建gdb调试go程序 中已经探究并介绍了gdb的环境搭建、基本使用以及如何利用gdb来调试断点查看函数调用次序。流程调试网络异常,图片无法展示|如上图,是go程序初始化流程的整理,由于整个流程调用方法非常多....
go-dongle 0.2.5 版本发布,一个轻量级、语义化的 golang 编码解码、加密解密库
dongle 是一个轻量级、语义化、对开发者友好的 Golang 编码解码和加密解密库`Dongle` 已被 [awesome-go](https://github.com/avelino/awesome-go#security "awesome-go") 收录, 如果您觉得不错,请给个 star 吧[github.com/golang-module/dongle](https://github....
知识分享之Golang——精选的组件库、组件列表,各种golang组件都可找到
知识分享之Golang——精选的组件库、组件列表,各种golang组件都可找到背景知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。知识分享系列目前包含Java、Golang、Linux、Docker等等。开发环境系统:windows10语言:Golang组件库:Blevegolang版本:....
Golang: satori/go.uuid库生成UUID
安装$ go get github.com/satori/go.uuid示例package main import ( "fmt" uuid "github.com/satori/go.uuid" ) func main() { // Creating UUID Version 4 uuid := uuid.NewV4() fmt.Printf(uuid....
Watermill(Golang 事件驱动库)Message Router 解析
Configuration// ... type RouterConfig struct { // CloseTimeout 确定路由在关闭时应为处理程序工作多长时间。 CloseTimeout time.Duration } func (c *RouterConfig) setDefaults() { if c.CloseTimeout == 0 { c.C...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。