本文首发于公众号:Hunter后端 原文链接:Golang基础笔记八之函数 本篇笔记介绍 Golang 里函数相关的内容,以下是本篇笔记目录: 函数的定义语法 函数返回值 可变参数函数 匿名函数 闭包 1、函数的定义语法 函数的定义格式如下: func 函数名(参数列表) (返回值列表) { 函数体 ...
本文首发于公众号:Hunter后端 原文链接:Golang基础笔记七之指针,值类型和引用类型 本篇笔记介绍 Golang 里的指针,值类型与引用类型相关的概念,以下是本篇笔记目录: 指针 值类型与引用类型 内存逃逸 减少内存逃逸的几种方案 1、指针 在计算机内存中,每个变量都存储在特定的内存地址上, ...
本文首发于公众号:Hunter后端 原文链接:Golang基础笔记六之流程控制 本篇笔记介绍 Golang 里流程控制相关的一些语法,以下是本篇笔记目录: 条件语句 循环语句 1、条件语句 1. if-else 语句 if-else 语句的基本语法如下: if condition { }else i ...
本文首发于公众号:Hunter后端 原文链接:Golang基础笔记五之结构体 本篇笔记介绍 Golang 中的结构体。 在 Go 中,结构体是一种用户自定义的数据类型,可以将不同类型的数据组合在一起。 以下是本篇笔记目录: 结构体的定义和使用 嵌套结构体 创建结构体递归结构 结构体标签 1、结构体的 ...
本文首发于公众号:Hunter后端 原文链接:Golang基础笔记四之map 这一篇笔记介绍 Golang 里 map 相关的内容,以下是本篇笔记目录: map 的概念及其声明与初始化 map 的增删改查 map 的遍历 1、map 的概念及其声明与初始化 map,即映射,是 Golang 里无序键 ...
下载 linux 版本的 go 点击官网前往下载页面 根据自己的 linux 环境下载最新版本的 golang 推荐复制下载地址后使用 wget wget https://golang.google.cn/dl/go1.19.linux-amd64.tar.gz 执行 tar 解压到 /usr/lo ...
本文首发于公众号:Hunter后端 原文链接:Golang基础笔记三之数组和切片 这一篇笔记介绍 Golang 里的数组和切片,以下是本篇笔记目录: 数组定义和初始化 数组属性和相关操作 切片的创建 切片的长度和容量 切片的扩容 切片操作 1、数组定义与初始化 第一篇笔记的时候介绍过数组的定义与初始 ...
本文首发于公众号:Hunter后端 原文链接:Golang基础笔记二之字符串及其操作 这一篇笔记主要介绍 Golang 字符串相关处理,以下是本篇笔记目录: 字符串的定义和初始化 字符 字符串操作 1、字符串的定义和初始化 在 Go 里,我们可以使用双引号和反引号来对定义字符串。 1. 双引号 双引 ...
本文首发于公众号:Hunter后端 原文链接:Golang基础笔记一之变量声明和类型介绍 这一篇笔记主要介绍 Golang 的基础内容,包括 Golang 的运行,变量声明以及 Golang 里的各种数据类型。 以下是本篇笔记目录: Golang 的运行 变量声明 Golang 数据类型 fmt 函 ...
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 我仍然在尝试优化 VictoriaLogs 的性能,手贱开始改以下这个函数: // lib/logstorage/bloomfilter.go func in ...
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 引子 VictoriaMetrics (Github: https://github.com/VictoriaMetrics/VictoriaMetrics) ...
Gogs —— 一款基于 Go 实现的极易搭建的自助 Git 服务,支持 Go 语言支持的所有平台,包括 Linux、macOS、Windows 和基于 ARM 的操作系统。 ...
最近一直在重构优化老系统,所以性能优化相关的文章会比较多。 这次的是有关循环处理map时的性能优化。预分配内存之类的大家都知道的就不多说了,今天来讲点大伙不知道的。 要讲的一共有三点,而且都和循环处理map有关。 不要用for-range循环清空map 这里要讨论的“清空”是指删除map中所有键值对 ...
allinssl —— 一个开源免费的 SSL 证书自动化管理平台,集证书申请、管理、部署和监控于一体的 SSL 证书全生命周期管理工具。 ...
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 因为我自己的水平还在山脚下,所以我只看见了眼前的这几座山…… 二十年前我刚入行的时候,我的岗位被称作“后台服务器开发”,如今可能有很多叫法:后端工程师,云原生 ...
最近料理老项目的时候被unsafe坑惨了,这里挑一个最不易察觉的错误记录一下。 这个问题几乎影响近几年来所有的go版本,为了方便讨论我就用最新版的1.24.3做例子了。 线上BUG 我们有一个收集集群信息的线上系统,这个系统有好几个数据源而且数据量比较大。众所周知Go语言总是会在一些关键性能点上拉跨 ...
核心设计理念 传统frp安全方案的不足 静态配置文件管理白名单IP,修改需要重启服务 分布式环境下多节点配置同步困难 缺乏实时阻断恶意IP的能力 Redis作为动态白名单存储的优势 实时生效:IP规则变更无需重启frp服务 集中管理:多台frp服务器共享同一套白名单规则 高性能验证:Redis的极速 ...
一、简介: Gin是Go语言的一个微框架,也是是一个用 Go (Golang) 编写的 HTTP Web 框架,封装比较优雅,API相对友好。Gin具有性能优异和灵活快速等优点。它具有类似 Martini 的 API,但性能比 Martini 快 40 倍。并且支持中间件、Crash 处理、JSON ...
简介 K8stools 是一个 Kubernetes 日常运维辅助工具集,旨在提升运维效率,辅助平台治理与资源优化。功能涵盖资源分析、趋势评估、异常检测、行为采集、成本估算等常见场景,适用于 DevOps、SRE、平台工程团队。 工具地址 功能模块 模块名称 功能说明 costEstimat ...
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 近期做了一个包含 cgo 的 golang 库,为了让依赖的 ffmpeg 等方便引用,于是提供了编译镜像。 相当于库内的代码直接在编译镜像里可以很方便地编译 ...