链路jaeger client go

Go语言上手(三) | 青训营笔记

高质量编程简介及编码规范 高质量: 各种边界条件考虑完备 异常情况处理,稳定性 易读易维护 编程原则 简单性 可读性 生产力 编码规范 公共符号始终要注释 例外:实现接口的方法不需要注释 格式化 使用gofmt(官方工具)自动格式化 注释 代码作用(适合公共符号) 代码如何实现 (适合注释实现过程) ......
语言 笔记

基于client-go实现pod 交互式terminal

基于client-go实现pod 交互式terminal 后端实现逻辑(golang) package main import ( "errors" "fmt" "github.com/gin-gonic/gin" "github.com/gorilla/websocket" corev1 "k8s ......
交互式 client-go terminal client pod

Go语言入门10(异常处理)

异常处理 panic 异常处理 ​ 如果出现了panic异常,那么会停止当前函数的运行,然后会找recover()方法,如果没有的话,就会报错退出程序,如果有就会执行recover的方法体中的方法 ​ 我们可以使用defer延迟处理函数来捕获panic异常,用recover()来从错误场景中恢复,必 ......
语言

go 计算map 差集、并集、交集

原文链接:> https://www.zhoubotong.site/post/95.html 某些业务场景可能需要实现两个或者多个map 的交差并集,一下举个简单的demo, 思路其实并不复杂: package main import "fmt" // 并集 func union(m1, m2 m ......
差集 交集 map go

go语言context.Context

go语言context.Context context 是 Golang 从 1.7 版本引入的一个标准库。它使得一个request范围内所有goroutine运行时的取消可以得到有效的控制。当最上层的 goroutine 因为某些原因执行失败时,下层的 Goroutine 由于没有接收到这个信号所 ......
context Context 语言

Go中响应式编程库RxGo详细介绍

最近的项目用到了 RxGo ,因为之前从没有接触过,特意去学了学,特此记录下。文章很多内容是复制了参考资料或者官方文档。如果涉及侵权,请联系删除,谢谢。 1、RxGo简介 1.1 基础介绍 RxGo是一个基于Go语言的响应式编程库,它提供了一种简单而强大的方式来处理异步事件流和数据流。RxGo的设计 ......
RxGo

protobuf导出go时调整默认tag的方法

问题概述 在protobuf导出到golang的时候,生成的.go文件里的struct的tag是没办法灵活设置的,以下面这个message为例 test.proto syntax=proto3; package test; option go_package = ".;test"; message ......
时调 protobuf 方法 tag

2023-04-21:用go语言重写ffmpeg的metadata.c示例。

2023-04-21:用go语言重写ffmpeg的metadata.c示例。 答案2023-04-21: 这段 Go 代码演示了如何使用 ffmpeg-go 库中的函数来读取多媒体文件元数据,包括视频、音频等信息。它的大体过程如下: 设置环境变量以加载 FFmpeg 动态链接库 这里将 FFmpeg ......
示例 metadata 语言 ffmpeg 2023

go channel使用及其实现原理 迈莫coding

go channel使用及其实现原理 迈莫coding 简书作者 2021-01-15 15:03IP属地: 北京 目录 channel背景 channel基本用法 channel应用场景 channel实现原理 channel数据结构 channel实现方式 channel注意事项 闲聊 【迈莫c ......
原理 channel coding go

使用 go-conntrack 包来实现 conntrack 会话的创建和删除

package main import ( "fmt" "time" "github.com/florianl/go-conntrack" ) func main() { // 创建 conntrack 客户端 client, err := conntrack.Dial(nil) if err != ......
conntrack go-conntrack go

go特色

1、switch case默认是break的,可以省略break关键字。 当然也可以显示break,那么就和其他语言一样了。 参考: https://www.jianshu.com/p/3a5d2e7f09a8 【话说现在简书要守不住底线了,跳出这么多垃圾广告,还是博客园干净,就是不知道能撑多久,据 ......
特色

(转)一文带你由浅入深地解读 Go Zap 的高性能

原文:https://blog.csdn.net/EDDYCJY/article/details/117970643 简介 zap 是什么? ⚡ZAP[1] 是uber 开源的提供快速,结构化,高性能的日志记录包。 zap 高性能体现在哪里? 在介绍zap包的优化部分之前,让我们看下zap日志库的工 ......
高性能 Zap Go

【观察者设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 观察者模式(Observer Pattern)是一种行为型模式。它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 观察者模式使用三个类Subject、Observer和Client。Subject对象带有绑定观察者到Client对象和从 ......
观察者 设计模式 语言 模式 Python

go类型

1、基本类型强转 // interface{}转为其他类型【当然这个得保证是这个类型,否则肯定报错。最好先断言】 var v interface{} var a int a = v.(int) //string 转为 int类型 // uint32转为int【低精度往高精度转?】 var i uin ......
类型

MDC轻量化日志链路跟踪的若干种应用场景

"If debugging is the process of removing software bugs, then programming must be the process of putting them in." - Edsger Dijkstra “如果调试是消除软件Bug的过程,那 ......
链路 场景 日志 MDC

go mod

go mod tidy 可能会修改指定的依赖版本号 go mod 的最小版本号选择的其实是选择所有 package 指定的 mod 的最大版本号 你指定了 v2.1.0, 但是依赖的某一个包指定了 v2.2.1, 最终编译就使用 v2.2.1 来编译 ......
mod go

(转)跟我一起学Go系列:日志系统从入门到晋级

原文:https://zhuanlan.zhihu.com/p/361930459 日志模块在如今的应用中地位是如日中天,开发者没有日志就相当于双目失明,对程序的运行状态无法判断。Go 也不例外提供了基础的日志调用模块:log 模块。log 模块主要提供了 3 类接口,分别是 “Print 、Pan ......
系统 日志

链路聚合-实验

一、实验背景 什么是链路聚合? 将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入吞吐量在各成员端口的负载分担 当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送封包,并根据负荷分担策略在剩下的链路中重新计算报文的发送端口,故障端口恢复后再次担任收发端口。 链路聚合在增加链路 ......
链路

go语言中函数定义细节

// 函数名驼峰命名法: addNum // 函数名首字母大写,该函数可以在其它文件夹下被引入使用类似于(pubilc) // 首字母小写只能被本包文件使用类似于(provite) ......
函数 细节 语言

Linux下搭建Go开发环境

Linux下搭建Go开发环境可以按照以下步骤进行: 1、下载最新的Go语言二进制包,可以从官网 https://golang.org/dl/ 下载。 2、将下载好的包解压缩到你想要安装的目录下,如 /usr/local/go。 3、添加环境变量,在终端中输入以下命令: export GOROOT=/ ......
环境 Linux

交换机链路聚合与多网卡绑定(bond)

概念介绍 bonding是linux内核自带的模块,它能将Linux系统的多个网卡绑定为一个逻辑端口,同时对外提供一个统一的IP地址,目前bonding模块的工作模式共有七种mode(0~6) mode介绍 mode0 ,(balance-rr) 轮询均衡 传输数据包顺序是多个网卡轮询传输,可能会出 ......
链路 交换机 网卡 bond

链路聚合

一、实验背景 什么是链路聚合? 将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入吞吐量在各成员端口的负载分担 当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送封包,并根据负荷分担策略在剩下的链路中重新计算报文的发送端口,故障端口恢复后再次担任收发端口。 链路聚合在增加链路 ......
链路

Go程序开发快速入门

当进行Go程序开发时,需要注意以下几点: 1、代码可读性:尽可能使用有意义的变量名和注释,确保代码易于理解和维护。 2、错误处理:Go语言有很好的错误处理机制,应该合理地处理错误,以便于排除错误。 3、内存管理:Go语言自动管理内存,但是如果存在大量的内存分配和垃圾回收,会影响程序性能,因此需要注意 ......
程序开发 程序

肖sir___项目链路了解

项目链路: 一、业务链路 二、环境架构 1、电商架构图: 保险链路: 链路有四个部分:信息采集模块、信息验证、审批、生成合同 信息采集模块:包括购买保险产品,客户个人信息1.纸质文档给客户填写,在回来录入系统2.客户直接登录网站,在线填写信息,提交3.团体购买保险,批量录入信息功能,一次把团体信息录 ......
链路 项目 sir

LeetCode-Go:一个使用 Go 语言题解 LeetCode 的开源项目

在中国的 IT 环境里,大多数场景下,学习算法的目的在于通过笔试算法题。 但算法书林林总总,有时候乱花渐欲迷人眼。 杜甫有诗云:读书破万卷,下笔如有神。不管选择哪本书,只要深入学习,分层次,逐层进阶,一定可以将算法攻克。 笔者强烈推荐一个 Github 开源项目 LeetCode-Go,你不仅可以把 ......
LeetCode 题解 LeetCode-Go 语言 项目

Go中使用JWT

原文链接:https://blog.csdn.net/m0_58121644/article/details/129643351 JWT (JSON Web Tokens) 是一种基于 JSON 格式的轻量级身份验证和授权方案。在 Go 项目中使用 JWT,一般需要完成以下步骤: 1. 安装 JWT ......
JWT

Go语言入门9(defer延迟处理函数)

Defer 延迟处理函数 特点 1. defer的运行的时间实在函数体运行的最后,在return之前 1. 多个 defer 的执行顺序为“后进先出/先进后出” return 和defer 的关系 ​ return的本质其实应该包含前后两个步骤:第一步是给返回值赋值(若为有名返回值则直接赋值,若为匿 ......
函数 语言 defer

Go语言入门8(匿名函数 闭包)

匿名函数 闭包 匿名函数 ​ 顾名思义,就是没有名字的函数。。。 func(){ fmt.Println("我就是匿名函数") } 匿名函数的两种执行方法 将匿名函数赋给一个变量 定义后立即执行匿名函数 // 讲匿名函数赋给一个变量 tmp := func(){ fmt.Println("我是匿名函 ......
闭包 函数 语言

go语言妙用

1、利用channel关闭,实现Context.Done() 这个Context.Done()的具体实现,需要看源码: 原理是: 当contxt用完被销毁后,就会关掉这个返回的匿名chan struct{},这样Done()本身读这个channel就会返回err,即有返回值,也就满足了这个case。 ......
妙用 语言

华为 S53300-配置链路聚合

1、多个端口配置接入类型,并加入到vlan [Quidway]port-group 1 [Quidway-port-group-1]group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/22 [Quidway-port-group-1]p ......
链路 53300