go-gprc gprc go

Supervisor--go版安装

### 安装 #### 1.下载指定golang版本的安装包 安装包下载地址:[https://github.com/ochinchina/supervisord/releases/tag/v0.7.3](https://github.com/ochinchina/supervisord/relea ......
Supervisor go

Go 语言数据类型

数据类型用于声明函数和变量。 Go 语言按类别有以下几种数据类型: 序号类型和描述 1 布尔型布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true。 2 数字类型整型 int 和浮点型 float,Go 语言支持整型和浮点型数字,并且原生支持复数,其 ......
语言 类型 数据 Go

Go 语言基础语法

标识符 标识符用来命名变量、类型等程序实体。 36 个预定义标识符 append bool byte cap close complex complex64 complex128 uint16 copy false float32 float64 imag int int8 int16 uint32 ......
语言基础 语法 语言 基础 Go

go语言结构

基础组成 包声明 引入包 函数 变量 语句 & 表达式 注释 package mainimport "fmt"func init(){ fmt.Print("hello world1\n")}func main(){ fmt.Print("hello world")} package main表示一 ......
语言 结构

go select 使用总结

转载请注明出处: 在Go语言中,select语句用于处理多个通道的并发操作。它类似于switch语句,但是select语句用于通信操作,而不是条件判断。select语句会同时监听多个通道的操作,并选择其中一个可用的通道进行操作。 select语句的语法如下: select { case <-chan ......
select go

go语言的"面向对象"

面向对象定义 面向对象三要素: 封装:将属性(数据)和方法(操作)封装,提供访问控制,隐藏实现细节,暴露该暴露的 继承:子类可以从父类直接获得属性和方法,减少重复定义。子类中如果与父类不同,可以自己定 义新的属性和方法,也可以覆盖同名的属性和方法 多态:前提是继承和覆盖,使得子类中虽然使用同一个方法 ......
quot 对象 语言

go语言结构体排序

排序接口 从接口定义来看,要实现某类型的排序 要知道有多少个元素 2个指定索引的元素怎么比较大小,索引i的元素小于索引j的值返回true,反之返回false 如何交换指定索引上的元素 那么自定义类型,要想排序,就要实现sort包中该接口。 结构体排序 假设有N个学生,学生有姓名和年龄,按照年龄排序结 ......
语言 结构

Go Gin 文件上传下载

``` //判断文件是否存在 存在返回 true 不存在返回false // func checkFileIsExist(filename string) bool { // var exist = true // if _, err := os.Stat(filename); os.IsNotEx ......
上传下载 文件 Gin Go

Go Gin JWT token 使用

``` package main import ( "github.com/dgrijalva/jwt-go" "log" "fmt" "errors" "time" ) // 一些常量 var ( TokenExpired error = errors.New("Token is expired" ......
token Gin JWT Go

GO testcases

使用 gomock 测试 Go 代码 gomock 是 Google 推出的用于 Go 的 mock 工具。它的大致用法是: 需要 mock 的地方,使用接口 执行 mockgen 生成代码 导入生成的代码,并且开始设置 mock 函数的行为 开始测试 GoMock框架使用指南 Go单测从零到溜系列 ......
testcases GO

go汇编语言-闭包是如何实现的?

分析的代码 package main func test(a int) func(i int) int { return func(i int) int { a = a + i return a } } func main() { f := test(1) a := f(2) println(a) ......
闭包 语言

go语言异常处理

异常处理 Go的设计者认为其它语言异常处理太过消耗资源,且设计和处理复杂,导致使用者不能很好的处理错误,甚至觉得异常和错误处理起来麻烦而被忽视、忽略掉,从而导致程序崩溃。 为了解决这些问题,Go将错误处理设计的非常简单 函数调用,返回值可以返回多值,一般最后一个值可以是error接口类型的值 如果函 ......
语言

go 传参 类型:接口类型 返回统配接口类型 , 求两个切片并集

用一个函数 可以同时求 两个 []string 切片,或者两个[]int 切片并集 package main // 测试统配传参 func commonParamTest(s1, s2 interface{}) interface{} { switch v := s1.(type) { //获取对应 ......
类型 接口 两个 go

go mod

什么是go mod go mod是golang官方V1.11版本推出的包管理工具 go mod使用 # 初始化完成后生成go.mod文件 go mod init moduleName # 整理现有依赖,安全去除无用的依赖 go mod tidy # 更新依赖的模块 go get -u # 查看当前模 ......
mod go

go-zero 源码——syncx/singleflight

```go package syncx import "sync" /** * [rtfsc] * 主题: singleflight.go * 摘要: 相同的任务,只需要一个人执行完成,剩下的享受成果即可 * 功能: 多个协程执行同一个任务时,只需要一个执行成功,其余的共享结果即可 * 应用: 高并 ......
singleflight 源码 go-zero syncx zero

go语言接口

接口定义 接口interface,和Java类似,是一组行为规范的集合,就是定义一组未实现的函数声明。谁使用接口就 是参照接口的方法定义实现它们。 type 接口名 interface { 方法1 (参数列表1) 返回值列表1 方法2 (参数列表2) 返回值列表2 ... } 接口命名习惯在接口名后 ......
接口 语言

go-zero 源码——syncx/limit

rtfsc: read the fucking source code 以下为源码注释: ```go package syncx import ( "errors" "github.com/zeromicro/go-zero/core/lang" ) /** * [rtfsc] * 主题: limi ......
源码 go-zero syncx limit zero

nacos-sdk-go/v2版本 提示客户端连接不上

# nacos-sdk-go v2 报错提示客户端连接不上 标签(空格分隔): nacos 前言 nacos版本:v2 nacos-sdk-go版本:v2 背景:使用nacos-sdk-go来获取配置,发现一直在找缓存目录的文件,但使用openapi可以获取到配置 报错信息 client not c ......
nacos-sdk-go 客户端 版本 客户 nacos

go get -u failed 失败 报错

```~/go/go1.20.5/bin/go get -u github.com/prometheus/client_golang panic: internal error: can't find reason for requirement on github.com/pkg/errors@v ......
failed get go

GO 语言中 chan 的理解

GO 语言中 chan 的理解 ### chan 的底层实现是怎么样的? > chan 是 Go 语言中的一个关键字,用于实现并发通信。chan 可以用于在不同的 goroutine 之间传递数据,实现数据的同步和异步传输。 在底层实现上,chan 是通过一个结构体来表示的,这个结构体包含了一个指向 ......
语言 chan GO

Go-使用反射创建并操作结构体

type User struct{ UserId string Name string } func TestReflectStructPtr(){ var ( model *User st reflect.Type elem reflect.Value } st=reflect.Type(mode ......
结构 Go

关于系统监控和Go语言采集代码

在生产环境,有时候需要对系统的性能进行时时采集,可以预防问题的出现,比如CPU、内存、硬盘等硬件问题导致系统崩溃,在Linux下有以下命令。 ![](https://img2023.cnblogs.com/blog/3079926/202307/3079926-20230703172218975-1 ......
语言 代码 系统

go语言结构体(二)

匿名结构体 标识符直接使用struct部分结构体本身来作为类型,而不是使用type定义的有名字的结构体的标识符。 可以使用 var 、 const 、 := 来定义匿名结构体。 type定义结构体的标识符,可以反复定义其结构体实例,但是匿名结构体是一次性的。 匿名结构体,只是为了快速方便地得到一个结 ......
语言 结构

golang解决go get下载失败解决办法

原因: 所下载的库依赖有官方库,而官方被封禁网导致。 方法: 设置代理 go env -w GOPROXY=https://goproxy.cn ps: go1.11发布后,还发布一个goproxy提供代理服务,goproxy.cn是专门服务于中国的,依赖于七牛云 github地址:https:// ......
办法 golang get

go语言结构体

结构体 Go语言的结构体有点像面向对象语言中的“类”,但不完全是,Go语言也没打算真正实现面向对象范式。 定义 使用type定义结构体,可以把结构体看做类型使用。必须指定结构体的字段(属性)名称和类型。 type User struct { id int name, addr string // 多 ......
语言 结构

Go 程序里 if else 分支太多?试着用策略模式治理一下吧

原创 卡尔文_ 网管叨bi叨 2022-11-16 08:45 发表于北京 收录于合集#用Go学设计模式24个 本周发布的设计模式文章,忘记标注原创,这里重新发布一次。 本次跟大家分享的是策略模式,是一个可以减少我们在程序流程里不停堆叠 if else 的一个好办法,大家一起学一下吧。 大家好,我是 ......
分支 策略 模式 程序 else

CentOS 9 x64 使用 Nginx、Supervisor 部署 Go/Golang 服务

## 前言 在 CentOS 9 x64 系统上,可以通过以下步骤来部署 Golang 服务。 ## 1\. 安装必要的软件包 安装以下软件包: 1. Golang:Golang 编程语言 2. Nginx:Web 服务器 3. Supervisor:进程管理工具 4. Git:版本控制工具 5. ......
Supervisor CentOS Golang Nginx x64

Go 语言 context 都能做什么?

**原文链接:** [Go 语言 context 都能做什么?](https://mp.weixin.qq.com/s/7IliODEUt3JpEuzL8K_sOg) 很多 Go 项目的源码,在读的过程中会发现一个很常见的参数 `ctx`,而且基本都是作为函数的第一个参数。 为什么要这么写呢?这个参 ......
context 语言 Go

go语言快速入门指北

# 0 前言 本文是个人自用的[go语言指南](https://tour.go-zh.org/list)学习笔记,主要是方便我个人复习。 通过上面那个指南,对于有编程基础的同学,可以在三天内速成go语言(~~我只花了两天~~) ## 0.1 推荐学习资料 1. [基于VSCODE的 go 环境搭建] ......
语言

GO语言调用外部函数失败总结

[TOC] ## GO ### 练习的项目结构 ``` @:~/goProject/test.cn$ tree . ├── go.mod ├── main.go └── model └── mysql.go 1 directory, 3 files ``` ### Q1 导入的是空路径 ``` bu ......
函数 语言