go-gprc gprc go

Go语言中的性能测试

# 单元测试 测试单元的结果是否符合预期 ```Go //go_test.go import ( "fmt" "testing" ) func Add() int { fmt.Println("AAAAAAAAAAAAAA") return 5 } func Sub() int { fmt.Prin ......
性能 语言

go编写zabbix企业微信媒介脚本

```go package main import ( "bytes" "fmt" "io" "net/http" "os" "time" "github.com/bytedance/sonic" ) var ( subject, message, webHook, is_all, user_pho ......
媒介 脚本 zabbix 企业

go项目的打包部署

1.go项目在window下编译简易打包1).在windows下直接编译生成main.exe文件在项目main.go同级目录下执行以下命令go build main.go 2).将当前目录下的main.go打包成gotest.exe文件(在windows下可以直接执行)在项目main.go同级目录下 ......
项目

go语言-不同类型转换为JSON格式数据

1.将结构体转换为JSON: package main import ( "encoding/json" "fmt" ) type Person struct { Name string Age int Email string } func main() { person := Person{Na ......
语言 类型 格式 数据 JSON

go generate命令简介

最近在研究[kratos](https://github.com/go-kratos/kratos)的使用,发现在`kratos run`之前会先运行`go generate ./...`命令。 这个命令之前没怎么用过,所以决定学习下该命令的用法。 `go generate`是Go语言中的一个命令, ......
generate 命令 简介 go

go语言时间相关

在Go语言中,时间定义为Time结构体。 var t = time.Now() fmt.Printf("%T\n", t) // time.Time fmt.Printf("%v %+[1]v\n", t) // 2022-10-06 19:35:00.1963422 +0800 CST m=+0. ......
语言 时间

go-proxy-bing基于New Bing的开源Bing AI源码,无需登录即可畅聊

go-proxy-bing是一款基于微软New Bing简单定制的开源网站源码,使用Vue3和Go编写。 它不仅拥有一致的UI体验,还支持ChatGPT提示词,国内可用,基本兼容微软Bing AI所有功能,用户可以无需登录即可畅聊。 当需要使用画图等高级功能时(需选择更有创造力模式或右上角「设置」= ......
Bing go-proxy-bing 源码 proxy bing

go语言序列化和反序列化

序列化需求 内存中的map、slice、array以及各种对象,如何保存到一个文件中? 如果是自己定义的结构体的实 例,如何保存到一个文件中? 如何从文件中读取数据,并让它们在内存中再次恢复成自己对应的类型的实例? 要设计一套协议,按照某种规则,把内存中数据保存到文件中。文件是一个字节序列,所以必须 ......
序列 语言

Go优雅的错误处理: 支持错误堆栈, 错误码, 错误链的工具库

地址: https://github.com/morrisxyang/errors 如果觉得有用欢迎 Star 和 PR, 有问题请直接提issue # errors [![Go Reference](https://pkg.go.dev/badge/github.com/morrisxyang/e ......
错误 堆栈 工具

Go 语言 for-range 的两个坑,你踩过吗?

#### 坑一:迭代时协程引用索引和值 先看看下面的例子,你知道最终输出的结果是什么吗? ```go package main import ( "fmt" "time" ) func main() { var m = []int{1, 3, 5} for i, v := range m { go ......
for-range 两个 语言 range for

为什么做GO/KEGG富集分析

在进行差异表达分析的时候,我们会得到很多的差异表达基因,富集分析可以把这些差异基因概述成整体事件。A信号通路与症状有关,而不是A1/A2/A3等基因与症状有关。GO和KEGG就是基于不同的分类,而储存的基因相关功能的数据库。 利用GO数据库,我们就可以得到我们的目标基因在CC, MF和BP三个层面上 ......
KEGG GO

Go 并发模型—Goroutines

## 前言 Goroutines 是 [Go](https://go.dev) 语言主要的并发原语。它看起来非常像线程,但是相比于线程它的**创建和管理成本很低**。Go 在运行时将 goroutine 有效地调度到真实的线程上,以避免浪费资源,因此您可以轻松地创建大量的 goroutine(例如每 ......
Goroutines 模型 Go

go语言:没有class

参考:[视频链接](https://www.bilibili.com/video/BV1fD4y1m7TD) # 没有class go语言没有class,但是可以将方法可以被关联到你声明的struct类型,如下介绍了如何将方法关联到类型和构造函数: ``` package main import ( ......
语言 class

Go语言基础-Go语言基础语法入门

第01天 上午01 课程内容 初识GO语言 开发环境搭建 第一个程序(程序结构) 基本组成元素 标识符 运算符 分隔符 变量、常量、作用域 数据类型 布尔型 整数 浮点数 字符串 指针 流程控制 if switch for 作业: 打印乘法口诀 猜数字 001初识GO语言 Go语言发展历史 Go 语 ......
语言基础 语言 基础 语法 Go

在 Go gRPC 中传递额外参数

Go gRPC 是一个高性能、开源的 RPC 框架,它支持通过 Protocol Buffers 进行序列化和反序列化,提供了简单易用的 API,并且可以跨语言通信。在实际开发中,我们有时需要在 gRPC 方法之间传递一些额外的参数,例如请求头信息、跟踪 ID、取消信号等。本文将介绍在 Go gRP ......
参数 gRPC Go

Go语言基础-目录

# Go语言基础-目录 ## 阶段一 Go语言基础 ### 第01天 Go语言基础语法入门 第02天 Go语言复合数据类型 第03天 Go语言中的函数 第04天 Go语言中的包和单元测试 第05天 Go语言面向对象和结构体 第06天 Go语言的文件与IO操作 第07天 Go语言的接口与反射 ## 阶 ......
语言基础 语言 基础 目录

go NewTicker 得使用

转载请注明出处: 在 Go 语言中,time.NewTicker 函数用于创建一个周期性触发的定时器。它会返回一个 time.Ticker 类型的值,该值包含一个通道 C,定时器会每隔一段时间向通道 C 发送一个时间值。 NewTicker 函数的签名如下: func NewTicker(d Dur ......
NewTicker go

go 多个请求防抖

如果有多个请求请求一个接口,当前处理的又是耗时操作的话,直接返回空数据,直到当前耗时操作完成后 再处理最新的一个请求 ![](https://img2023.cnblogs.com/blog/1801618/202307/1801618-20230707172355395-1342925593.pn ......
多个 go

go语言select用法

1 原理 操作系统中我们会使用select或者epool等实现 I/O 多路复用, Go 语言中关键字select用法与之类似,但go中的select只能等待Channel中的事件。Go 语言中的 select 够让 Goroutine 同时等待多个 Channel 可读或者可写,在多个文件或者 C ......
语言 select

go工具pprof部署

在做内存分析时,用到了pprof,这里做一下部署介绍和入门级别的使用。 pprof是golang的性能工具,有两种交互方式:命令行交互和web交互,同时还支持性能分析数据的图形化展示。 部署pprof: 在我们的kubeedge代码的edgecore.go里,import导入两个包,再加入访问ppr ......
工具 pprof

Go Modules的前世今生

以前,Go语言的依赖包的管理一直被诟病,Go官方从最初的GOPATH到GO VENDOR,再到目前的GO Modules,一直在努力提供更方便的包管理方案。 目前最主流的方案是官方推荐的GO Modules。先介绍一下以前的GOPATH和GO VENDOR,了解它们的发展历程,才能知道GO Modu ......
Modules Go

go get 和 go install 对比

(一)命令定义和区别 go install 和 go get 都是 Go 语言的工具命令,但它们之间有一些区别。 go get:用于从远程代码存储库(如 GitHub)中下载或更新 Go 代码包。它会下载代码包并将其存储在 $GOPATH/src 目录下对应的位置,并编译代码包中的程序和库。如果目标 ......
install go get

Go语言中JSON文件的读写操作

Go语言中JSON文件的读写操作 本文主要介绍了Go语言JSON文件的读写操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 + 目录 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式, ......
语言 文件 JSON

Go 语言函数

函数定义与调用 package main import "fmt" func main() { /* 定义局部变量 */ var a int = 100 var b int = 200 var ret int /* 调用函数并返回最大值 */ ret = max(a, b) fmt.Printf( ......
函数 语言 Go

Go 语言循环语句

Go 语言 for 循环 语法 for init; condition; post { } for condition { } for { } init: 一般为赋值表达式,给控制变量赋初值; condition: 关系表达式或逻辑表达式,循环控制条件; post: 一般为赋值表达式,给控制变量增量 ......
语句 语言 Go

Go 语言条件语句

语句描述 if 语句 if 语句 由一个布尔表达式后紧跟一个或多个语句组成。 if...else 语句 if 语句 后可以使用可选的 else 语句, else 语句中的表达式在布尔表达式为 false 时执行。 if 嵌套语句 你可以在 if 或 else if 语句中嵌入一个或多个 if 或 e ......
语句 条件 语言 Go

go中的各种路径

假设有个a.go文件在/apis/app/account/ package main import ( "fmt" "os" ) func main() { curWD, err := os.Getwd() if err != nil { panic(err) } fmt.Println(curWD ......
路径

Go 语言运算符

Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 算术运算符 运算符描述实例 + 相加 A + B 输出结果 30 - 相减 A - B 输出结果 -10 * 相乘 A * B 输出结果 200 / 相除 B / A 输出结果 2 % 求余 B % A ......
运算符 语言 Go

Go 语言常量

常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。 const identifier [type] = value 实例 package main import "fmt" func main() { const LENGTH int = 10 const WIDTH int ......
常量 语言 Go

Go 语言变量

声明变量的一般形式是使用 var 关键字: var identifier type 根据值自行判定变量类型。 var v_name = value 省略var, 注意 :=左侧的变量不应该是已经声明过的,否则会导致编译错误 var a int = 10 var b = 10 c := 10 例如 p ......
变量 语言 Go