runtime go

学习mongo和go

mongo: moduleData, ok := result.Lookup("context1", "context2").DocumentOK() result.Lookup("context1", "context2") 用于检索名为 "content1" 的字段,并且该字段的值又是一个嵌套的 ......
mongo

基于go-zero的api网关示例

以下是基于 go-zero 框架的 API 网关示例。这个示例包括一个简单的 API 网关,它接收 HTTP 请求,将请求路由到不同的服务,并返回响应。 创建项目 首先,在 go-zero 仓库中创建一个新的目录: mkdir api-gateway cd api-gateway 创建 Go 文件 ......
网关 示例 go-zero zero api

基于go-zero的rpc服务示例

以下是一个基于 go-zero 框架的简单 RPC 服务示例,该示例包括一个服务端和一个客户端通过 gRPC 进行通信。 服务端 1、定义 .proto 文件 在 rpc/add 目录下创建 adder.proto 文件,定义 RPC 服务: syntax = "proto3"; package a ......
示例 go-zero zero rpc go

Go使用开源库go-excelize操作Excel文件

以下是一个示例代码,读取一个 Excel 文件并打印其中的所有单元格值: package main import ( "fmt" "github.com/30x/go-excelize" ) func main() { // 打开 Excel 文件 f, err := excelize.OpenFi ......
go-excelize excelize 文件 Excel go

go ants使用

NewPoolWithFunc -> func(data interface{}) -> data.(Task) -> Task.Do 上面的这些函数都是同步的,添加到 NewPoolWithFunc中后,执行 invoke会变成异步 NewPool和NewPoolWithFunc本质是一样的,都是 ......
ants go

go errgroup用法

草稿 errgroup就是在waitgroup基础上封装了一层。 我还是不喜欢 go的这个控制goroutine的方式。 只贴一下代码: func main() { eg, ctx := errgroup.WithContext(context.Background()) for i := 0; i ......
errgroup go

[Go] "Method Declaration" on a custom type

package data // new type type distance float64 type distanceKm float64 // add ToKm method to distance type func (miles distance) ToKm() distanceKm { / ......
quot Declaration Method custom type

pb.go 转 proto 文件

使用python将pb.go 文件转为proto文件 编程语言不限,挺简单的,不熟悉python的可以看看逻辑,自己改下 import os import re # 处理字段选项 def dispose_field_type(ft: str): ft = ft.replace("*", "") if ......
文件 proto pb go

【go】【test】benchmark

@目录写在前面 go 测试基础测试fib.gotest_fib.go使用内存generate_test.go测试参数测试generate_test.go参数测试timeRestnullsort_test.go 测试开始记时⌛️和测试结束计时⌛️测试参考资料 写在前面 相关博文 个人博客首页 免责声明 ......
benchmark test

go使用context.withtimtout取消一个超时操作

3 使用context.WithTimeout: package mainimport ("context""fmt""time")func main() {timeout := 5 * time.Secondctx, cancel := context.WithTimeout(context.Ba ......
withtimtout context

Go基础面经题

Go基础 1. 基础特性 Go的优势 天生支持并发,性能高。 单一的标准代码格式,比其他语言更具可读性。 自动垃圾收集机制比Java和Python更有效,因为它与程序同时执行。 Go数据类型 int, string, float, bool, array, slice, map, channel, ......
基础

go的类型断言跟静态转换

Go 中的类型断言与静态转换 原创 TimLiu 爱发白日梦的后端 2023-10-15 10:47 发表于广东 收录于合集#go95个 类型断言 在 Go 中,类型断言用于提取和测试接口值的动态类型。通过断言,您可以确定接口值是否持有特定的底层具体类型,如果持有,则获取该值。下面是一个如何在 Go ......
静态 类型

Go捕获系统信号

原理 简单来说,main中可以捕获系统的中断信号,并将其传入到 chan中; 原来的main goroutine因为要捕获系统的 interrupt信号,所以需要将原来的代码放入到另外一个goroutine中。 这样做之后,如果不主动处理interrupt信号,程序默认是无法结束的 示例代码: fu ......
信号 系统

go实现网络代理

每日一库:Go实现网络代理 原创 孟斯特 孟斯特 2023-11-19 10:00 发表于北京 收录于合集 #每日一库38个 #Golang91个 使用 Go 语言开发网络代理服务可以通过以下步骤完成。这里,我们将使用 golang.org/x/net/proxy 包来创建一个简单的 SOCKS5 ......
网络

go form表单数据处理

每日一库:表单数据处理 原创 孟斯特 孟斯特 2023-11-20 10:00 发表于北京 收录于合集 #每日一库38个 #Golang91个 在 Go 语言中,处理 HTTP 请求中的表单数据是一项常见任务。github.com/go-playground/form/v4 是一个强大而灵活的库,用 ......
数据处理 表单 数据 form go

Go实现网络代理

使用 Go 语言开发网络代理服务可以通过以下步骤完成。这里,我们将使用 golang.org/x/net/proxy 包来创建一个简单的 SOCKS5 代理服务作为示例。 步骤 1. 安装 golang.org/x/net/proxy 包 使用以下命令安装 golang.org/x/net 包,该包 ......
网络

go接口判断是否为nil

var i interface{} var x *int i = x //不赋值时i接口为is a nil,反射reflect.ValueOf(i).IsNil()会panil if i != nil { fmt.Println("i != nil") } else { fmt.Println("i ......
接口 nil

10个令人惊叹的Go语言技巧,让你的代码更加优雅

10个令人惊叹的Go语言技巧,让你的代码更加优雅 原创 TimLiu 爱发白日梦的后端 2023-11-18 08:50 发表于广东 收录于合集#go95个 爱发白日梦的后端 专注 Go 语言领域的发展,学习成为更牛逼的架构师,日常分享 Go 语言、架构、软件工具的使用。 129篇原创内容 公众号 ......
语言 代码 技巧

go并发 - channel

概述 并发编程是利用多核心能力,提升程序性能,而多线程之间需要相互协作、共享资源、线程安全等。任何并发模型都要解决线程间通讯问题,毫不夸张的说线程通讯是并发编程的主要问题。go使用著名的CSP(Communicating Sequential Process,通讯顺序进程)并发模型,从设计之初 Go ......
channel

go并发 - goroutine

概述 Go并发模型独树一帜,简洁、高效。Go语言最小执行单位称为协程(goroutine),运行时可以创建成千万上个协程,这在Java、C等线程模型中是不可想象的,并发模型是Go的招牌能力之一。很多文章描述协程是轻量级的线程,并不准确,两者在底层有本质区别。线程是由操作系统维护,以Linux为例,系 ......
goroutine

2023-11-18:用go语言,如果一个正方形矩阵上下对称并且左右对称,对称的意思是互为镜像, 那么称这个正方形矩阵叫做神奇矩阵。 比如 : 1 5 5 1 6 3 3 6 6 3 3 6 1 5

2023-11-18:用go语言,如果一个正方形矩阵上下对称并且左右对称,对称的意思是互为镜像, 那么称这个正方形矩阵叫做神奇矩阵。 比如 : 1 5 5 1 6 3 3 6 6 3 3 6 1 5 5 1 这个正方形矩阵就是神奇矩阵。 给定一个大矩阵n*m,返回其中神奇矩阵的数目。 1 <= n, ......
矩阵 正方形 正方 上下 镜像

go map删除元素后内存是否会释放

go 底层map 是由若干个bmap(桶)构成的,桶只会扩容,不会缩容 ,所以 map中占用的内存不会被释放 但是!!! 以上只针对值类型的数据结构 例如:基本类型 int string slice struct 等 如果key为 指针变量 删除后这个指针变量内存不会释放,但是这个指针指向的对象,引 ......
元素 内存 map go

go语言window|mac|linux下交叉编译其他平台的软件包

go语言window|mac|linux下交叉编译其他平台的软件包 注意:go1.17 发现直接使用set 是不起作用的, 必须要使用go env -w 来设置 一、设置编译环境,需要发布哪个平台 Window下 1、 设置Linux编译环境 SET CGO_ENABLED=0 set GOARCH ......
软件包 语言 window linux 平台

go中异常处理流程

在 Go 语言中,panic、recover 和 defer 是用于处理异常情况的关键字。它们通常一起使用来实现对程序错误的处理和恢复。 1. defer 语句 defer 用于在函数返回之前执行一段代码。被 defer 修饰的语句或函数会在包含 defer 的函数执行完毕后执行。defer 常用于 ......
流程

Centos7.8 go1.18.3指定版本安装 完美运行Golang安装

安装背景说明:公司已经有3台服务器安装了go1.18.3版本,这次又买了一台新服务器,由于线上推上去的功能,可能会导致用户出现异常,要做压力测试,所以要重建go环境。 遇到问题:昨天下午自己下载了安装包,也是go1.18.3 解析到了/usr/local 目录 也配置了环境 /etc/profile ......
Centos7 版本 Centos Golang 18.3

go.mod: checksum mismatch 报错解决办法

来源:http://www.shanhubei.com/archives/2842.html 升级go.mod依赖版本之后会报错。 go.mod 里的依赖项版本号升级之后,本地下载的缓存并没有清理掉还是旧的版本,所以把go mod缓存清理掉然后删掉go sum重新生成。 go clean -modc ......
checksum mismatch 办法 mod go

Go语言打印九九乘法表,这是整洁代码范例

Go语言打印九九乘法表,这是整洁代码范例 / Go 语言输出九九乘法表 / 九九乘法表是我们学习编程时的一项基本练习,它看似简单,通过实现输出九九乘法表可以加深对 Go 语言循环结构的理解和运用。 本文将使用 Go 语言输出九九乘法表,内容涵盖: 问题描述 基本思路 使用双层 for 循环实现 控制 ......
乘法表 乘法 范例 语言 代码

go rpc原生用法

Go 先锋 读完需要 7分钟 速读仅需 3 分钟 概述 在分布式系统中,远程过程调用(RPC)是一种关键的通信方式,而 Go 语言提供了强大的 RPC 支持,使得在网络间实现函数调用变得更加便捷。 本文将探讨 Go 语言中 RPC 的基础概念、实现方式,并通过示例代码演示如何模拟远程过程调用系统。 ......
rpc go

go语言解决跨域的问题图片显示问题

来源:http://www.shanhubei.com/archives/2838.html 直接上代码 package main import ( "fmt" "io/ioutil" "net/http" ) //获取C的图片数据 func ReadImgData(url string) []by ......
问题 语言 图片

go 上下文:context.Context

Go语言中的上下文(Context)是一种用于在 Goroutines 之间传递取消信号、截止时间和其他请求范围值的标准方式。context 包提供了 Context 类型和一些相关的函数,用于在并发程序中有效地传递上下文信息。 在Go语言中,上下文通常用于以下场景: 请求的传递:当一个请求从客户端 ......
上下文 上下 context Context go