随笔分类 -  go

1 2 3 4 5 ··· 16 下一页

「Go开源包」snappy:google开源的快速、无损压缩包
摘要:大家好,我是渔夫子。 今天给大家推荐的是一个google开源的快速、无损的压缩包:snappy。 snappy算法是google开源的。该包是google使用go语言来实现的。项目地址如下: 项目地址:https://github.com/golang/snappy 星标:1.4k 使用者:97.7 阅读全文

posted @ 2024-03-26 20:33 ExplorerMan 阅读(57) 评论(0) 推荐(0) 编辑

【Go-Lua】Golang嵌入Lua代码——gopher-lua
摘要:嵌入式8 篇文章0 订阅订阅专栏Lua代码嵌入GolangGo版本:1.19首先是Go语言直接调用Lua程序,并打印,把环境跑通 package main import lua "github.com/yuin/gopher-lua" func main() { L := lua.NewState( 阅读全文

posted @ 2024-02-20 19:16 ExplorerMan 阅读(282) 评论(0) 推荐(0) 编辑

百度搜索exgraph图执行引擎设计与实践
摘要:导读 百度搜索exgraph图执行引擎设计重点分成三个部分:图描述语言、图执行引擎、对接扩展。 图描述语言是一种基于文本可读的图描述语言,用于描述任务中的算子以及算子之间的依赖关系,即让人可以理解,也可以被计算机理解并执行。 图执行引擎是exgraph的核心,负责根据图描述语言生成的图语法树进行高效 阅读全文

posted @ 2024-02-20 16:50 ExplorerMan 阅读(14) 评论(0) 推荐(0) 编辑

gengine简介
摘要:gengine简介 gengine是一款基于golang和AST(抽象语法树)开发的规则引擎,gengine支持的语法是一种自定义的DSL gengine于2020年7月由哔哩哔哩(bilibili.com)授权开源 gengine现已应用于B站风控系统、流量投放系统、AB测试、推荐平台系统等多个业 阅读全文

posted @ 2024-02-20 14:58 ExplorerMan 阅读(98) 评论(0) 推荐(0) 编辑

template包 字符串函数
摘要:字符串函数 https://blog.gmem.cc/gotpl 函数 说明 abbrev 缩写参数,超出的字符以...代替。例如 abbrev 5 "hello world"输出 he... abbrevboth abbrevboth N STR:从双侧缩写 trunc trunc N STR:截 阅读全文

posted @ 2023-12-05 19:21 ExplorerMan 阅读(9) 评论(0) 推荐(0) 编辑

golang 根据 json path 提取字段值
摘要:在Golang中,可以使用github.com/tidwall/gjson包来根据JSON路径提取字段值。 package main import ( "fmt" "github.com/tidwall/gjson" ) func main() { jsonStr := ` { "name": "J 阅读全文

posted @ 2023-11-24 15:50 ExplorerMan 阅读(174) 评论(0) 推荐(0) 编辑

Golang中结构体映射mapstructure库深入详解
摘要:mapstructure用于将通用的map[string]interface{}解码到对应的 Go 结构体中,或者执行相反的操作。很多时候,解析来自多种源头的数据流时,我们一般事先并不知道他们对应的具体类型。只有读取到一些字段之后才能做出判断 + 目录 在数据传递时,需要先编解码;常用的方式是JSO 阅读全文

posted @ 2023-07-27 15:44 ExplorerMan 阅读(1094) 评论(0) 推荐(0) 编辑

Golang 规则引擎原理及实战
摘要:本文主要介绍规则引擎在 golang 中的使用,将首先介绍 golang 中主要的规则引擎框架,然后利用 golang 原生的 parser 搭建一个简单的规则引擎实现基本的 bool 表达式解析工作。 背景 随着业务代码的不断迭代,诞生出了越来越多的 if-else,并且 if-else 中的逻辑 阅读全文

posted @ 2023-07-24 14:44 ExplorerMan 阅读(171) 评论(0) 推荐(0) 编辑

更严格的代码格式化工具 gofumpt
摘要:gofmt 是 golang 自带的代码自动格式化工具,是保证 Go 代码风格一致的大杀器。我们这次要推荐的 gofumpt 在 gofmt 的基础上添加了一系列更加严格的格式化规则,并保证了对 gofmt 的兼容。 gofumpt 有助于进一步提升代码质量,它已经成为 gopls(Go 官方语言服 阅读全文

posted @ 2022-12-12 15:03 ExplorerMan 阅读(695) 评论(0) 推荐(0) 编辑

Go协程超时退出的三种方式
摘要:主要介绍如何实现超时控制,主要有三种 1、context.WithTimeout/context.WithDeadline + time.After 2、context.WithTimeout/context.WithDeadline + time.NewTimer 3、channel + time 阅读全文

posted @ 2022-10-11 14:39 ExplorerMan 阅读(378) 评论(0) 推荐(0) 编辑

【Golang】高性能编程之超时退出协程
摘要:超时控制在网络编程中是非常常见的,利用 context.WithTimeout和time.After都能够很轻易地实现。func doBadthing(done chan bool) { time.Sleep(time.Second) done <- true} func timeout(f fun 阅读全文

posted @ 2022-10-11 14:37 ExplorerMan 阅读(666) 评论(0) 推荐(0) 编辑

goroutine泄漏检测神器---goleak
摘要:goroutine泄漏检测神器 goleak在日常开发中,go 出去的goroutine通常伴随着死循环,这些goroutine可能处于阻塞状态,一直运行,直到进程结束。 对于线上服务来说,一直是在运行的,除非panic重启等,不然一旦出现goroutine泄漏,资源被一直占用,cpu/内存将会直线 阅读全文

posted @ 2022-08-22 15:37 ExplorerMan 阅读(94) 评论(0) 推荐(0) 编辑

golang中的race检测
摘要:golang中的race检测由于golang中的go是非常方便的,加上函数又非常容易隐藏go。 所以很多时候,当我们写出一个程序的时候,我们并不知道这个程序在并发情况下会不会出现什么问题。 所以在本质上说,goroutine的使用增加了函数的危险系数​​论go语言中goroutine的使用​​。比如 阅读全文

posted @ 2022-08-19 15:06 ExplorerMan 阅读(206) 评论(0) 推荐(0) 编辑

go map fatal error: concurrent map iteration and map write 读写锁与深度拷贝的坑
摘要:从币安实时拉取交易对的数据,这里使用了 map,用于存放每个交易对的最新价格,由于 map 并不是并发安全的所以加了读写锁。 但系统有时候还是会发生 fatal error: concurrent map iteration and map write 错误 使用代码如下: type Binance 阅读全文

posted @ 2022-08-19 15:00 ExplorerMan 阅读(745) 评论(0) 推荐(0) 编辑

关于golang:Go-mod-replace-使用
摘要:日常开发离不开第三方库,大部分的时候,这些库都是满足咱们的须要,但有的时候,咱们须要 fork 一份,做一些批改。go mod 作为以后 go 语言的官网包管理器,天然也思考到了这种状况。在 go.mod 文件中,通过 replace 指令,将旧的库地址,替换为新的库地址来实现这一操作。 上面通过一 阅读全文

posted @ 2022-06-20 16:43 ExplorerMan 阅读(3152) 评论(0) 推荐(0) 编辑

Go 1.19中终于实现了SetMemoryLimit的功能
摘要:Go 1.19中终于实现了SetMemoryLimit的功能。Go的GC并不像Java那样提供了很多的参数可以调整,目前也就有GOGC这么一个参数,所以能增加一个可以调整GC的参数确实让人兴奋。 一直关注Go性能同学一定知道,最近几年有两个调整Go GC的hack方式: ballast[1]: 压舱 阅读全文

posted @ 2022-06-20 15:50 ExplorerMan 阅读(1787) 评论(0) 推荐(0) 编辑

GO IP.IsPrivate实例讲解 获取真实IP,判断是否为内网IP
摘要:GO语言"net"包中"IP.IsPrivate"类型的用法及代码示例。 用法: func(ip IP) IsPrivate() bool IsPrivate 根据 RFC 1918(IPv4 地址)和 RFC 4193(IPv6 地址)报告 ip 是否为私有地址。 例子: package main 阅读全文

posted @ 2022-06-08 19:56 ExplorerMan 阅读(698) 评论(0) 推荐(0) 编辑

golang程序优化方法
摘要:1.程序编译瘦身,降低二进制文件大小 编译时增加 -ldflags "-s -w" 示例:go build -ldflags "-s -w" -o hello2 hello.go 性能优化 https://blog.csdn.net/u010649766/article/details/805821 阅读全文

posted @ 2022-04-12 11:20 ExplorerMan 阅读(296) 评论(0) 推荐(0) 编辑

Golang中常用的代码优化点
摘要:Golang中常用的代码优化点 大家好,我是轩脉刃。 这篇想和大家聊一聊golang的常用代码写法。在golang中,如果大家不断在一线写代码,一定多多少少会有一些些代码的套路和经验。这些经验是代表你对一些问题,或者一类问题的思考和解决。处理一个问题的方法有很多,如果频繁遇到同样的场景和问题,我们会 阅读全文

posted @ 2022-04-12 11:03 ExplorerMan 阅读(126) 评论(0) 推荐(0) 编辑

Uber工程师对真实世界并发问题的研究
摘要:今天Uber工程师放出一篇论文(A Study of Real-World Data Races in Golang](https://arxiv.org/abs/2204.00764)),作者是Uber的工程师Milind Chabbi和Murali Krishna Ramanathan,他们负责 阅读全文

posted @ 2022-04-07 10:47 ExplorerMan 阅读(47) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 16 下一页

导航