newticker go

微服务架构|go-zero 的自适应熔断器

**原文链接:** [go-zero 的自适应熔断器](https://mp.weixin.qq.com/s/r1kTYUK_r-JalvhzAKKQwg) 上篇文章我们介绍了微服务的限流,详细分析了计数器限流和令牌桶限流算法,这篇文章来说说熔断。 熔断和限流还不太一样,限流是控制请求速率,只要还能 ......
熔断器 架构 go-zero zero go

go 1.21:cmp

## 标准库 `cmp` 原文在[这里](https://pkg.go.dev/cmp) go 1.21 新增 `cmp` 包提供了与有序变脸比较相关的类型和函数。 ### Ordered 定义如下: ```go type Ordered interface { ~int | ~int8 | ~in ......
1.21 cmp go 21

为何每个开发者都在谈论Go?

> 本文深入探讨了Go语言的多个关键方面,从其简洁的语法、强大的并发支持到出色的性能优势,进一步解析了Go在云原生领域的显著应用和广泛的跨平台支持。文章结构严谨,逐一分析了Go语言在现代软件开发中所占据的重要地位和其背后的技术原理。 > 关注TechLead,分享互联网架构、云服务技术的全维度知识。 ......
开发者

学习GO语言的方法

学习GO语言的方法 一、选择合适的学习资源学习一门新的编程语言,首先要选择合适的学习资源网站。GO语言官方文档是学习GO语言最权威、最详细的资料,可以从官方文档掌握语言的基本语法、标准库的使用方法等。此外,还可以选择一些优秀的GO语言教程、书籍和在线课程,这些资源往往结合了理论与实践,对于初学者来说 ......
语言 方法

2023-09-01:用go语言编写。给出两个长度均为n的数组, A = { a1, a2, ... ,an }, B = { b1, b2, ... ,bn }。 你需要求出其有多少个区间[L,R]

2023-09-01:用go语言编写。给出两个长度均为n的数组, A = { a1, a2, ... ,an }, B = { b1, b2, ... ,bn }。 你需要求出其有多少个区间[L,R]满足: 数组A中下标在[L,R]中的元素之和在[La,Ra]之中, 数组B中下标在[L,R]中的元素 ......
数组 区间 长度 两个 语言

Go 切片

切片与数组类似,但更强大和灵活。与数组一样,切片也用于在单个变量中存储相同类型的多个值。然而,与数组不同的是,切片的长度可以根据需要增长和缩小。在 Go 中,有几种创建切片的方法: 1. 使用`[]datatype{values}`格式 2. 从数组创建切片 3. 使用 `make()`函数 使用 ......
Go

go: json marshal and unmarshal

引用: https://bluehive.medium.com/golang-json-marshal-a-struct-with-pointers-2a362d0543f5 1. Golang JSON Marshal a Struct With Pointers: a. Always name ......
unmarshal marshal json and go

Go语言-Slice详解

Go语言中的slice表示一个具有相同类型元素的可变长序列,语言本身提供了两个操作方法: 1. 创建:make([]T,len,cap) 2. 追加: append(slice, T ...) 同时slice支持随机访问。本篇文章主要对slice的具体实现进行总结。 ## 1. 数据结构 go语言的 ......
语言 Slice

go-optioner:轻松生成函数选项模式代码

[Go开源工具] go-optioner:轻松生成函数选项模式代码 原创 陈明勇 Go技术干货 2023-07-25 08:02 发表于广东 收录于合集#Go 开源1个 大家好,我是 陈明勇,一个热爱技术,喜欢专研技术的程序员。 Go技术干货 专注于分享 Go 技术干货知识(基础、进阶、原理等)。 ......
go-optioner 函数 optioner 模式 代码

go 开发总结

一、启动报错修复 1、go mod tidy报错fatal: unable to connect to codehub-dg-y.huawei.com: http://3ms.huawei.com/hi/group/3225441/wiki_7286777.html 2、szv-open.codeh ......
go

[Go] VsCode 的 Golang 环境设置与代码跳转支持

一般在终端中使用时的配置: export GO111MODULE=on export GOPROXY=https://goproxy.io,direct 在 vscode 中使用的配置: 1. 安装 Go 扩展。 2. Preferences -> Settings -> Extensions -> ......
代码 环境 VsCode Golang Go

【GO】Go语言介绍 Go开发环境搭建 第一个helloworld 变量命名规范 变量的定义和使用

# 今日内容 ## 1 Go语言介绍 ```python #Go语言介绍 Go 即 Golang,是Google公司2009年11月正式对外公开的一门编程语言 Go是【静态 强类型】语言,是区别于解析型语言的编译型语言 静态:类型固定 强类型:不同类型不允许直接运算 解释型语言——源代码由解释器对代 ......
变量 helloworld 语言 环境

Go 数组

数组用于在单个变量中存储相同类型的多个值,而不是为每个值声明单独的变量。 声明数组 在Go中,有两种声明数组的方式: 1. 使用`var`关键字: 语法 `var array_name = [length]datatype{values} // 这里定义了长度` 或者 `var array_name ......
数组 Go

2023-08-30:用go语言编写。两个魔法卷轴问题。 给定一个数组arr,其中可能有正、负、0, 一个魔法卷轴可以把arr中连续的一段全变成0,你希望数组整体的累加和尽可能大。 你有两个魔法卷轴,

2023-08-30:用go语言编写。两个魔法卷轴问题。 给定一个数组arr,其中可能有正、负、0, 一个魔法卷轴可以把arr中连续的一段全变成0,你希望数组整体的累加和尽可能大。 你有两个魔法卷轴,请返回数组尽可能大的累加和。 1 = 0; i-- { right[i] = max(arr[i]+ ......
卷轴 数组 魔法 两个 arr

go 工厂模式

go的工厂模式是为了解决struct的命名为小写字母开头,在其他模块中不能调用的问题。正常来说只有大写字母开头的函数,结构体,结构体中的字段才能被其他多模块调用 构建工厂模式函数 package module type student struct { Name string Age int } # ......
工厂 模式 go

Go--List

什么是List List是一种有序的集合,可以包含任意数量的元素。与数组相比,list的长度可以动态调整,可以随时添加或删除元素,类似于切片 在go中,List是一个双向链表的实现。 实例 package main import ( "container/list" "fmt" ) type Use ......
List Go

将Go开发的代码部署到k8s集群

一、在服务器上编译go程序 1.1 编译go语言程序 # 安装go yum install go -y mkdir /root/test && cd /root/test # 设置代理 go env -w GOPROXY=https://goproxy.cn,direct # 创建源码文件 [roo ......
集群 代码 k8s k8 8s

冰橙API- ChatGPT开放接口 支持PHP JAVA JS GO C等种类开发范例

openai chatgpt国内接口 https://apifox.com/apidoc/shared-52fb41cb-0e62-4e34-b06d-f9334d7a0502/api-106414419 冰橙GPT稳定提供API接口服务 定时有人进行问题排查处理 1小时内问题响应 接入了腾讯云的内 ......
范例 种类 接口 ChatGPT JAVA

Go 面试题:string 是线程安全的

大家好,我是煎鱼。 之前在某知名平台看到大家在交流 Go 岗位相关的面试题,其中有一道引起了大家的一些讨论,勾起被八股文的深深回忆。 面试题如下: 如标题所示,原题是:Go 中的 string 赋值是线程安全的吗? 我们可以一起先想想答案,看看中不中。 线程安全是什么 线程安全是指在多线程环境下,程 ......
线程 string Go

VSCODE 关闭 go 的test缓存

`Ctrl + ,` 进入设置,搜索 `go testFlags` ![image](https://img2023.cnblogs.com/blog/2146100/202308/2146100-20230829233851922-925799478.png) 点击 `Edit in settin ......
缓存 VSCODE test go

Go 数据类型

数据类型是编程中的重要概念。数据类型指定了变量值的大小和类型。 Go是静态类型的,这意味着一旦变量类型被定义,它只能存储该类型的数据。 Go有三种基本数据类型: - bool:表示布尔值,要么是true,要么是false。 - 数值型:表示整数类型、浮点数值和复数类型。 - string:表示字符串 ......
类型 数据 Go

Go - init()

func init() { // Show file name and line number, instead of date and time. log.SetFlags(log.Lshortfile) } ......
init Go

go的net/http有哪些值得关注的细节

原创 小白 小白debug 2023-08-14 08:33 发表于上海 收录于合集 #go语言1个 #面试17个 #后端19个 golang的net/http库是我们平时写代码中,非常常用的标准库。由于go语言拥有goroutine,goroutine的上下文切换成本比普通线程低很多,net/ht ......
细节 http net

go-zero使用

官网文档地址: https://go-zero.dev/docs/tasks 这是一个脚手架,用于把proto文件或者api文件转为服务代码。 环境安装分4步(官网文档上有写): 1.安装golang,并设置自己的GOPATH,略 2.安装protobuf,最好从github下载源码编译,并拷贝到本 ......
go-zero zero go

Go 如何正确关闭通道

在使用 Go Channel,如果没有正确的关闭通道,轻则导致内存泄漏,重则引发 Panic。所以如何正确的关闭通道是一个很重要的问题。 ......
通道 Go

聊一聊 Go 的内存对齐

内存对齐与结构体有着紧密的关联,如C/C++/Golang。内存对齐是比较底层的编程知识,在日常编程中很少提及,所以它对于程序员来说,是比较“透明的存在”。 ......
内存 Go

Go 上下文的理解与使用

Go 上下文从 1.7 版本引入,在此之前,取消协程很不优雅与方便。上下文提供了更好的方法来管理请求的超时、取消、截止时间等操作,是 Go 语言独有的特性。 ......
上下文 上下 Go

Go语言并发编程实践

Go语言是一门现代化的编程语言,以其独特而强大的并发模型而著名。Go通过轻量级的协程(goroutine)和通信机制(channel)实现了高效的并发编程。本篇博客将介绍Go语言的并发模型,讨论并发编程的基本概念和常用模式,并探索如何利用Go的并发特性来提升程序性能和开发效率。 # 并发编程的重要性 ......
语言

Go 格式化动词

Printf() 函数可以使用多种格式化动词对输出进行格式化。下面是可以与所有数据类型一起使用的一些通用格式化动词: **通用格式化动词:** 以下动词适用于所有数据类型: |动词|描述| |-|-| |`%v`|以默认格式打印值| |`%#v`|以 Go 语法格式打印值| |`%T`|打印值的类型 ......
动词 格式 Go

golang官方包管理vendor模式无法引用非go文件

## 主页 - 微信公众号:密码应用技术实战 - 博客园首页:https://www.cnblogs.com/informatics/ ## 背景&问题 golang作为高级计算机语言之一,在云原生以及web网站建设中发挥了重要作用,但在实际应用中我们可能会碰到以下场景,在该场景下: - 部署机无法 ......
模式 文件 官方 golang vendor