链路jaeger client go

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

简介 访问者模式(Visitor Pattern)是一种行为型模式。它封装一个访问者类,把各元素类的操作集合起来,目的是将数据结构与数据操作分离。在不改变原有元素类数据结构的前提下,改变了元素类的执行算法。 当某些较为稳定的东西(数据结构或算法),不想直接被改变但又想扩展功能,这时候适合用访问者模式 ......
设计模式 访问者 语言 模式 Python

Go坑:time.After可能导致的内存泄露问题分析

Go 中 time.After 可能导致的内存泄露 一、Time 包中定时器函数 go v1.20.4 定时函数:NewTicker,NewTimer 和 time.After 介绍 time 包中有 3 个比较常用的定时函数:NewTicker,NewTimer 和 time.After: New ......
内存 问题 After time

go krotos proto编译引用外部包 was not found or had errors

前言 kratos protos 生成 pb.go 文件时,会出现引用其他 proto 文件报错 was not found or had errors,因找不到此文件而无法编译。 解决 首先我们先了解下 protoc 中 import 的两条规则: import 不允许使用相对路径; import ......
errors krotos found proto had

Go语言 - 二进制数转十进制数

二进制转10进制的方法 最近在备考软考的软件设计师考试,在学习过程遇到很多于计算机基础计算相关的知识点,正好最近在学Go语言,所以就把计算的方式用Go语言实现一下 代码示例 /* 转换规则: 11001 从末尾到开头,以2为底数,从0开始递增为指数 * 二进制数,然后将这些二进制数相加即可得出10进 ......
十进制 二进制 语言

Go并发编程:发生死锁、活锁的案例分析

什么是死锁、活锁 什么是死锁:就是在并发程序中,两个或多个线程彼此等待对方完成操作,从而导致它们都被阻塞,并无限期地等待对方完成。这种情况下,程序会卡死,无法继续执行。 什么是活锁:就是程序一直在运行,但是无法取得进展。例如,在某些情况下,多个线程会争夺同一个资源,然后每个线程都会释放资源,以便其他 ......
案例分析 案例

2、go程序接入prometheus

参考:https://prometheus.io/docs/guides/go-application/ go默认基础指标 package main import ( "net/http" "github.com/prometheus/client_golang/prometheus/promhtt ......
prometheus 程序

Go 汇编详解

Go 汇编详解 https://mp.weixin.qq.com/s?__biz=MzI1MzYzMjE0MQ==&mid=2247502457&idx=1&sn=9b754e6b17ade0d48694d089b6537092&chksm=e9d3019bdea4888df6dbde663632d ......
Go

Go

macOS brew install go export GOPROXY=https://proxy.golang.com.cn,direct Linux brew install go export GOPROXY=https://proxy.golang.com.cn,direct Window ......
Go

Go-net源码解析

学习一门语言,那么我们必然要涉及到网络通信,而谈到网络通信却又离不开tcp,这里我们利用go标准库net来模拟一个服务端、客户端的流程,从而深入学习其中的代码流程(深入其中解析本质) func main() { server, err := net.Listen("tcp", "127.0.0.1: ......
源码 Go-net net Go

mapreduce测试时出现INFO client.RMProxy: Connecting to ResourceManager at 0.0.0.0:8032后无响应问题,可能是没有配置好yarn-site.xml

如运行wordcount后出现INFO client.RMProxy: Connecting to ResourceManager at 0.0.0.0:8032长时间不动,我尝试修改我的yarn-site.xml配置后可以成功运行 <property> <name>yarn.nodemanager ......

go 数据类型

序号 类型和描述 1 布尔型布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true。 2 数字类型整型 int 和浮点型 float32、float64,Go 语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码。 3 字符串类型:字符串就是一 ......
类型 数据 go

2023-04-30:用go语言重写ffmpeg的resampling_audio.c示例,它实现了音频重采样的功能。

2023-04-30:用go语言重写ffmpeg的resampling_audio.c示例,它实现了音频重采样的功能。 答案2023-04-30: resampling_audio.c 是 FFmpeg 中的一个源文件,其主要功能是实现音频重采样。 音频重采样是指将一段音频数据从一个采样率、声道数或 ......

go语言中的数据哈希

哈希算法 哈希函数的基本特征 输入可以是任意长度。 输出是固定长度。 根据输入很容易计算出输出。 根据输出很难计算出输入(几乎不可能)。 两个不同的输入几乎不可能得到相同的输出。 SHA SHA(Secure Hash Algorithm) 安全散列算法,是一系列密码散列函数,有多个不同安全等级的版 ......
语言 数据

为什么 Go for-range 的 value 值地址每次都一样?

原文链接: 为什么 Go for-range 的 value 值地址每次都一样? 循环语句是一种常用的控制结构,在 Go 语言中,除了 for 关键字以外,还有一个 range 关键字,可以使用 for-range 循环迭代数组、切片、字符串、map 和 channel 这些数据类型。 但是在使用 ......
for-range 地址 range value for

Go语言入门13(runtime包)

Runtime包 GOMAXPROCS() ​ 用来设置可以并行计算的CPU核数最大值,并返回之前的值,具体使用方法上一篇有些,这里不再赘述 Gosched() ​ 用于让出CPU时间片,让出当前goroutine的执行权限,调度器安排其他等待的任务运行,并在下次某个时候从该位置恢复执行 Goexi ......
runtime 语言

【模板方法设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 模板方法模式(Template Method Pattern)也叫模板模式,是一种行为型模式。它定义了一个抽象公开类,包含基本的算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构,只是重定义该算法的某些特定步骤。不同的子类以不同的方式实现这些抽象方法,从而对剩余的逻辑有不 ......
设计模式 模板 语言 模式 方法

go语言channel

go语言channel 设计原理 go语言中提倡:不要通过共享内存方式进行通信,而应该通过通信的方式共享内存。 在很多编程语言中,多个线程传递数据的方式一般是共享内存,为了解决线程竞争,我们需要限制同一时间能够读写这些变量的线程数量,然而这与go语言的设计并不相同。 虽然在go语言中也能使用共享内存 ......
channel 语言

Cheems. Would you like going to the dock later to order some French fries?

Prologue " So, where are we going? " " I'm going to the dock later to order some French fries. " " No, you misunderstood... I mean, what is the ultima ......
Cheems French Would going fries

云原生时代崛起的编程语言Go基础实战

Go语言由于来自全球技术大厂谷歌创造及推动,其生态发展极其迅速,有可能成为未来十年内最有统治力的开发语言。本篇主要介绍Go目前发力的使用场景、开发环境、基础命令、命名规范,进一步了解其原生标准库的强大,最后通过多个Go代码示例演示了基础语法的使用,从而具备初级编程能力。 ......
编程语言 实战 语言 基础 时代

go语言 数组和切片、可变长参数、maps、字符串、指针、结构体、方法、接口

==数组和切片== 数组 # 1 定义,初始化,使用 # 2 数组是值类型 数字,字符串,布尔,数组,都是值类型,真正直接存数据 切片,map,指针 引用类型,是个地址,指向了具体的值 # 3 数组长度 # 4 循环打印数组 # 5 多纬数组 # 6 数组定义并赋初值 ,把第99 赋值为1 ,其他都 ......
数组 字符串 指针 字符 接口

Go

今日内容 1 字符串 package main // 字符串 func main() { // 1 定义字符串 //var s = "中alqz" // 2 字符串可以按下标取值,不能改 //s[0]=98 //fmt.Println(s[0]) // 取字节,是个数字 //fmt.Println( ......
Go

服务百万商家的系统,发布风险如何规避?微盟全链路灰度实践

一分钟精华速览 全链路灰度发布是指在微服务体系架构中,应用的新、旧版本间平滑过渡的一种发布方式。由于微服务之间依赖关系错综复杂,一次发布可能会涉及多个服务升级,所以在发布前进行小规模的生产环境验证,让新版本的应用实例来承接、处理限定规模或范围的业务流量,能最大限度控制发布上线风险,保证业务连续性。 ......
灰度 链路 风险 商家 系统

Go笔记(十):函数

1、函数 函数一般用于执行某一特定的任务,go函数有三个要素:函数名称、返回类型、参数。 2、函数特性 1、go中不允许函数重载(overload),不允许函数同名; 2、go中函数不能嵌套函数,但可以嵌套匿名函数; 3、函数可作为参数传递给另一个函数; 4、函数的返回值可以是一个函数; 5、函数调 ......
函数 笔记

PrometheusOperator云原生监控:基于operator部署的资源内部链路分析

本篇要分享的内容 这里假设你已经完成了kube-prometheus的部署。 假设有个需求:需要将node-exporter的指标暴露到k8s集群外部。如果要搞清楚这个问题,并实现这个需求,需要对通过operator部署的资源、内部链路有一定的了解才可以。所以,本篇要做这方面的一个分享。 关于在ma ......
链路 PrometheusOperator operator 资源

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

简介 策略模式(Strategy Pattern)属于行为型设计模式。将每一个算法封装到具有共同接口的独立类中,根据需要来绑定策略,使得具体实现和策略解耦。 当你想使用对象中各种不同的算法变体,使用if...else 所带来的复杂和难以维护,可使用策略模式。或者当有许多相同类,它们仅在执行某些行为时 ......
设计模式 策略 语言 模式 Python

2022-04-27:用go语言重写ffmpeg的remuxing.c示例。

2022-04-27:用go语言重写ffmpeg的remuxing.c示例。 答案2022-04-27: ffmpeg的remuxing.c是一个用于将多媒体文件从一种容器格式转换为另一种容器格式的命令行工具。它可以将音频、视频和字幕等元素从源文件中提取出来,并按照用户指定的方式重新封装到目标文件中 ......
示例 remuxing 语言 ffmpeg 2022

go

今日内容 1 数组和切片 1.1 数组 # 1 定义,初始化,使用 # 2 数组是值类型 -数字,字符串,布尔,数组,都是值类型,真正直接存数据 -切片,map,指针 引用类型,是个地址,指向了具体的值 # 3数组长度 # 4 循环打印数组 # 5 多纬数组 # 6 数组定义并赋初值 ,把第99 赋 ......
go

Go--日志

一、Logger go语言默认提供的日志功能,包为ttps://golang.org/pkg/log/ 优势: 使用非常简单,可以设置任何io.Writer作为日志记录输出并向其发送要写入的日志 劣势: 仅限基本的日志级别 只有一个Print选项。不支持INFO/DEBUG等多个级别 对于错误日志, ......
日志 Go

Go语言协程技术文档

协程(goroutine)是Go语言的一种轻量级线程,可以在一个线程中运行多个协程,从而实现高并发程序。协程具有低开销、高效率和易于管理等优点,被广泛应用于网络服务、云计算、大数据处理和人工智能等领域。本文将介绍Go语言协程的基本概念和使用方法。 协程的概念 协程是一种用户级线程,由Go语言的运行时 ......
技术文档 语言 文档 技术

go语言实现并发遍历目录

go语言实现并发遍历目录 目录树结构定义 先实现一个目录树的数据结构定义,需要支持共享访问。 package main import ( "os" "strings" "sync" ) type ( // 目录项 DirEntry struct { Name string `json:"name"` ......
语言 目录