golang retry grpc 05

golang之命令行工具Cobra

github地址: https://github.com/spf13/cobra [安装] go get -u github.com/spf13/cobra@latest 使用cobra_cli工具 go install github.com/spf13/cobra-cli@latest [使用] ......
命令 工具 golang Cobra

golang-channel

什么是 channel 管道 channel 是 goroutine 与 goroutine 之间通信的重要桥梁 channel 是一个通道,用于端到端的数据传输,这有点像我们平常使用的消息队列,只不过 channel 的发送方和接受方是 goroutine 对象,属于内存级别的通信。 这里涉及到了 ......
golang-channel channel golang

在windows10上安装多个golang

在windows10上安装多个golang # 原理 下载不同go版本,然后重命名go可执行文件,然后配置环境变量,不同命令使用不同的版本。 其实所有的开发环境都可以这么使用。比如python2,python3 # 方法 问的[文心一言](https://yiyan.baidu.com/),哈哈哈哈 ......
多个 windows golang 10

05. 视图函数

一、什么是视图函数 视图函数,简称视图,是一个 Python 函数,它接收 Web 请求并返回 Web 响应。响应可以是一个 HTML 文件、一个重定向、一个 404 错误、一个 XML 文档、或者一张图片等等,它可以是任何东西。无论视图本身包含什么逻辑,都要返回响应。逻辑处理代码写在哪里都可以,只 ......
视图 函数 05

golang-waitgroup

说明 golang通过waitgroup来实现并发控制,用法跟java的CountDownLatch 效果一样 WaitGroup 的使用场景和方法 我们通过goroutine运行一个或者一组任务,需要关心这组任务执行完了进行通知 WaitGroup 如同它的字面意思,就是等待一组 goroutin ......
golang-waitgroup waitgroup golang

P6066 [USACO05JAN] Watchcow S

prologue 这个题这么水的一个板子题。 analysis 这个题目我们正反建两条边,在跑欧拉回路的时候,看这个边是不是被走过,走过就不走,跳过这个边。如果没走,就走这条边并且标记这个边走过了。 code time #include <bits/stdc++.h> using namespace ......
Watchcow P6066 USACO 6066 JAN

一个思路:实现 golang 中的 `__file__` `__line__` 宏

作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 测试 zaplog 发现,开启 caller 的调用,会使整个服务增加 2% 的损耗。 其实文件及其行号完全可以在编译期加上去,没必要带来运行期的性能损耗。 ......
思路 golang file line

golang 反射

参考 https://www.cnblogs.com/jiujuan/p/17142703.html float反射示例 package main import ( "fmt" "reflect" ) func main() { var x float64 = 1.2345 fmt.Println( ......
golang

golang Context应用举例

Context本质 golang标准库里Context实际上是一个接口(即一种编程规范、 一种约定)。 type Context interface { Deadline() (deadline time.Time, ok bool) Done() <-chan struct{} Err() err ......
Context golang

Golang method | Interfaces 示例

方法与接口(method Interface) package interFaces import ( "fmt" "log" ) // manager Appstore online account type Account struct { surName string givenName st ......
示例 Interfaces Golang method

Golang视频学习地址

GO 视频学习资料 Go编程基础: https://study.163.com/course/courseMain.htm?courseId=306002 8小时转职Golang工程师(如果你想低成本学习Go语言):https://www.bilibili.com/video/BV1gf4y1r79 ......
地址 Golang 视频

Golang 命名返回值和普通返回值

1、概述 在Go语言中,函数可以有命名返回值和普通(匿名)返回值。命名返回值会被视为定义在函数顶部的变量,并且在使用 return 语句返回时,不再必须在其后面指定参数名,也就是支持“裸”返回;而使用普通返回值时,使用 return 语句返回时,需要在其后面指定与普通返回值相同类型的参数名。 实际上 ......
Golang

力扣刷题笔记-05 最长回文子串

05 最长回文子串 半山腰有点拥挤,你要去山顶看看。 中心扩展法 什么是回文 从左边出发,字符的顺序和从右边出发是一样的,比如aba,abba。那么基于这个理论,我们就可以想到解决方案: 找一个中心点,向两边出发,左右两边各移动一位,如果相同就证明是回文子串,不相同就停止,找下一个中心点 中心点 我 ......
回文 笔记 05

golang 多生产者+多消费者模式

参考 https://gist.github.com/vitan/aedb628a40478cf8b6a33dc87a5ff52f https://gist.github.com/mochow13/74ee57078d58536929575ab481dd9693 1 package main imp ......
产者 消费者 模式 golang

Golang 的骚操作:go:linkname

背景 在看源码时,一些源码方法没有方法体,难道说明这些方法为空?例如:time.Now调用的 now(), time.Sleep , reflect.makechan // Provided by package runtime. func now() (sec int64, nsec int32, ......
linkname Golang go

golang 1.18 workspace mode

why ? 为什么需要workspace 历史发展和版本依赖的管理 GOPATH 最开始的模式 开发者需要设置一个环境变量 GOPATH,用于指定项目的工作空间。GOPATH 是一个目录路径,其中包括了三个重要的子目录:src、bin 和 pkg 通过 go get 命令,GOPATH/src 下的 ......
workspace golang 1.18 mode 18

Vs2022 开发Grpc

使用VS2022开发遇到了不少坑,记录一下 VS貌似没有类似WebService添加接口的模板,需要手动添加.proto文件,而且.proto文件,也没有对应模板,需要添加一个文本文件,改成需要的名字 添加完.proto文件,需要用Grpc.Tools编译生成对应所需的文件,使用dotnet add ......
2022 Grpc Vs

golang 的循环导入

内容来自对 chatgpt 的咨询 循环导入概念 在Go语言中,循环导入是一个需要避免的问题。它发生在两个或更多的包彼此导入对方,形成一个导入循环,导致编译器无法处理。 例如,假设你有两个包,包A和包B。包A导入了包B,然后包B又导入了包A,这就形成了一个循环导入。在这种情况下,编译器将无法确定要首 ......
golang

golang 代码实现判断当前时间是否在"19:00"和"24:00"这两个时间范围内

代码是 chatgpt 写的 package main import ( "fmt" "time" ) func main() { now := time.Now() // 获取今天的年月日 year, month, day := now.Date() // 创建两个新的时间点,它们在今天的 19: ......
quot 时间 范围 两个 代码

golang 怎么使用接口中声明的方法

假设你有一个golang 的 interface,里面声明了1个函数,怎么调用这个函数 type Man interface { Eat(ctx context.Context, food string}) error } 使用方式 创建结构体实现这个接口声明的方法,然后创建该结构体对象,调用方法 ......
接口 方法 golang

golang 使用redis设置分布式锁 demo

内容来自对 chatgpt 的咨询 分布式锁是在多个节点上运行的应用程序中协调工作的一种常用方法,而Redis是实现分布式锁的流行选择。以下是使用Go语言和github.com/go-redis/redis库来设置Redis分布式锁的一个简单示例: 首先,确保你已经安装了该库: go get -u ......
分布式 golang redis demo

golang 对字符串进行base64编解码、md5 编码

内容来自对 chagpt 的咨询 一、对字符串进行 base64 编解码 base64 编码 要在Go语言中对字符串进行base64编码,你可以使用标准库中的encoding/base64包。以下是一个简单的示例: package main import ( "encoding/base64" "f ......
字符串 字符 编码 golang base

golang 把内容写到 csv 文件或者 xlsx 文件里

内容来自对 chatgpt 的咨询 csv 格式 csv 格式的文件使用 wps 或者 office 打开后是一个 excel 表格的形式,很容易看到表格里的数据。csv 格式跟 markdown 格式有点像,只需要按照固定的语法放置文本,保存后,用对应的渲染软件打开,就能得到想要的效果。 比如下面 ......
文件 内容 golang xlsx csv

05步:制作根文件系统

原文:https://www.zhaixue.cc/qemu/qemu-build_busybox_rootfs.html 5.1 编译、安装根文件系统 根文件系统的安装方法有很多,这里我们为了方便,安装最为简单和轻量的busybox # cd /home/tftpboot # mkdir file ......
文件 系统

从一个golang 员工emp数组中,找到其中name相同的元素,把结果放到一个新数组里,代码实现

内容来自对 chatgpt 的咨询 为了找到具有相同名称的员工,并将结果放入一个新的数组中,我们可以首先使用一个映射(map)来存储每个名称及其出现的次数。然后,我们可以遍历原始数组并使用映射来判断是否有重复的名称。 以下是一个示例代码,演示如何实现这一目标: package main import ......
数组 元素 员工 代码 结果

golang: 仅声明但未初始化的切片可以执行 for range 和 append 操作;仅声明但未初始化的 map,可以执行 for range 操作,但是不能执行添加元素操作

仅声明但未初始化的切片可以执行 for range 和 append 操作 你可以对一个未初始化的切片进行append和for range操作。 一个未初始化的切片的零值是nil,且其长度和容量都为0。你可以安全地使用append函数向其添加元素: var aaa []int64 aaa = app ......
range for 元素 golang append

Docker - ERROR: failed to solve: golang:latest: error getting credentials - err: exec: "docker-credential-desktop": executable file not found in $PATH, out: ``

Dockerfile: FROM golang:latest WORKDIR /app ADD . . RUN go get RUN go build -o app . CMD ["/app/app"] zzh@ZZHPC:/zdata/MyPrograms/Go/aaa$ docker build ......

Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000001A73833FD00>: Failed to establish a new connection: [WinError 10060]

报错 Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000001A73833FD00>: Failed to establ ......

05_其他关键字

其他关键字 const 只读 只能初始化,不能赋值,只读 register 寄存器 如果变量被高频使用, 会自动将变量存储在寄存器中, 目的: 提高访问效率 如果用户想将变量直接放入寄存器中, 可以使用register修饰寄存器变量 volatile 强制访问内存 volatile int data ......
关键字 关键 05

05_webview操作和使用

首先也是按照之前的方法去创建 js 和 js 文件夹下的 render.js。 在 index.js 中的 webPreferences 添加: 红框中的代码是 html 支持 webview。webview 其实是嵌入式一个网页,让我们可以进行修改、操作等。 在 index.html 里添加: < ......
webview 05