条件switch go

go语言SSE客户端

package main import ( "fmt" "github.com/r3labs/sse/v2" "net/http" "net/url" "strings" "time" ) func main() { client := &http.Client{ // 设置Transport字段为 ......
客户端 语言 客户 SSE

golang常用库包:log日志记录-uber的Go日志库zap使用详解

Go 日志记录库:uber-go 的日志操作库 zap 使用 一、简介 zap 是 uber 开源的一个高性能,结构化,分级记录的日志记录包。 go1.20.2 zap v1.24.0 zap的特性 高性能:zap 对日志输出进行了多项优化以提高它的性能 日志分级:有 Debug,Info,Warn ......
日志 常用 golang uber log

Go 语言体系下的微服务框架选型:Dubbo-go

以 Dubbo-go 为中心的微服务体系在多个知名企业中成功落地和实践,框架的稳定性在实际场景下经受住了考验。 ......
框架 Dubbo-go 体系 语言 Dubbo

model中 查询对象条件中,字段名称使用变量查询

1.存在代码如下 query = Q() for key, value in search_info.items(): query &= Q(key=value) all_objects = UserAdmin.objects.filter(query) 会直接报错,model:UserAdmin ......
字段 变量 对象 条件 名称

go语言内存对齐

go语言内存对齐 什么是内存对齐 内存对齐,是代码编译后在内存的布局和使用方式。当一个内存地址a是n字节的倍数(其中n是2的幂)时,内存地址a被称为n字节对齐。编译器会将数据按照特定的规则,把数据安排到合适的存储地址上,并占用合适的地址长度 比如:存储int32位和int64位的数据时 没有进行内存 ......
内存 语言

【享元设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 享元模式(Flyweight Pattern),是一种结构型设计模式。主要用于减少创建对象的数量,以减少内存占用和提高性能。它摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,让你能在有限的内存容量中载入更多对象。 当程序需要生成数量巨大的相似对象时,可能对内存有大量损耗 ......
设计模式 语言 模式 Python Java

C++ 性能优化 - for循环条件中不要调用函数

for循环条件中调用普通函数 #include <iostream> #include <chrono> using namespace std; long long count = 0; const int N = 10; int getSize(){ cout<<"get size"<<endl ......
函数 性能 条件 for

go mod 替换不可用包

require( xxxxxxx v0.0.0-incompatible ) replace( xxxxx => xxxx 分支 ) 以上文件中的 xxxxxx 代码仓库 修改为以上格式,然会使用replace 命令替换 仓库到分支, 使用go mod tidy 命令修复后会自动引用这个分支上合适的 ......
mod go

Excelize 发布 2.7.1 版本,Go 语言 Excel 文档基础库

Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,2023年4月10日,社区正式发布了 2.7.1 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。 ......
Excelize 版本 语言 文档 基础

Go笔记(一):基本数据类型

一、常量 1、语法格式 常量,编译阶段已经确定了值,程序在运行时无法改变常量的值。定义一个常量使用const关键字,语法格式如下: const constantName [type] = value const: 定义常量关键字; constantName: 常量名称; type: 常量类型; va ......
类型 笔记 数据

用 Go 剑指 Offer 12. 矩阵中的路径

给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 例 ......
矩阵 路径 Offer Go 12

用 Go 剑指 offer:面试题61. 扑克牌中的顺子

从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。 示例 1: 输入: [1,2,3,4,5]输出: True 示例 2: 输入: [0,0,1,2,5]输 ......
扑克牌 扑克 offer Go 61

用 Go 剑指 Offer 53 - II. 0~n-1中缺失的数字

一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。 示例 1: 输入: [0,1,3]输出: 2示例 2: 输入: [0,1,2,3,4,5,6,7,9]输出: 8 限制: 1 <= ......
缺失 数字 Offer Go 53

用 Go 剑指 Offer 53 - I. 在排序数组中查找数字 I (二分法)

统计一个数字在排序数组中出现的次数。 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例 2: 输入: nums = [5,7,7,8,8,10], target = 6输出: 0 提示: 0 <= nums.length <= 105-109 <= ......
二分法 数组 数字 Offer Go

用 Go 剑指 Offer 57. 和为s的两个数字 (双指针)

输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 示例 1: 输入:nums = [2,7,11,15], target = 9输出:[2,7] 或者 [7,2]示例 2: 输入:nums = [10,26,30,31,47 ......
指针 两个 数字 Offer Go

Go语言闭包

说到Go语言的闭包,不得不说说全局变量和局部变量 全局变量的特点: 1.常驻内存 2. 污染全局 局部变量的特点: 1.不常驻内存 2.不污染全局 而Go语言的闭包可以做到 1.可以让变量常驻内存 2.可以让变量不污染全局 所以闭包主要是为了避免全局变量的滥用。 闭包 1.闭包是指有权访问另一个函数 ......
闭包 语言

Go 语言函数闭包

Go 语言支持匿名函数,可作为闭包。匿名函数是一个"内联"语句或表达式。匿名函数的优越性在于可以直接使用函数内的变量,不必申明。 以下实例中,我们创建了函数 getSequence() ,返回另外一个函数。该函数的目的是在闭包中递增 i 变量,代码如下: 实例 package mainimport  ......
闭包 函数 语言 Go

用 Go 剑指 Offer 39. 数组中出现次数超过一半的数字 (摩尔投票)

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 // 若不存在多数元素,本题就需要计数并判断 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2 限制: 1 <= 数组长度 <= 50000 ......
数组 次数 数字 Offer Go

Go语言闭包(Closure)——引用了外部变量的匿名函数

Go语言中闭包是引用了自由变量的函数,被引用的自由变量和函数一同存在,即使已经离开了自由变量的环境也不会被释放或者删除,在闭包中可以继续使用这个自由变量,因此,简单的说: 函数 + 引用环境 = 闭包 同一个函数与不同引用环境组合,可以形成不同的实例,如下图所示。 图:闭包与函数引用 一个函数类型就 ......
闭包 变量 函数 Closure 语言

mac配置vscode和go

一 安装和配置Go 去这里下载Go的安装包:https://studygolang.com/dl 建议下载pkg格式,懒人安装 安装完毕后用 go version 验证一下是否安装成功 然后使用 go env 查看一下go相关的环境变量 主要是查看GOROOT,GOPATH,GOBIN GOPATH ......
vscode mac

go 版本管理工具 gvm

下载地址 安装包下载地址(随便选一个能访问的下载,区别在于命令行中使用gvm,还是g) win 平台 1.gitee上的gvm:gvm 发行版 - Gitee.com 2.github上的g:Releases · voidint/g · GitHub 上面这个是同一个作者 mac 平台 https: ......
管理工具 版本 工具 gvm go

用 Go 剑指 Offer 42. 连续子数组的最大和

输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 提示: 1 <= arr.leng ......
数组 Offer Go 42

Go常用库之GoRequests

我们在使用Go做爬虫的时候,首先接触的肯定是 Golang 标准库 net/http https://pkg.go.dev/net/http 有兴趣的可以去看看文档。 但是老实说 这个库个人感觉不是特别的好用 有可能是之前就是使用了Python 所以还是感觉如果有像Python库中的requests ......
GoRequests 常用

用 Go 剑指 Offer 40. 最小的k个数 (Top K 问题)

输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 示例 1: 输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2: 输入:arr = [0,1,2,1], k = 1输出:[ ......
个数 问题 Offer Top Go

GO打包到linux服务器运行

方法二:本地编译 cmd控制台到main.go文件目录下 set GOARCH=amd64 set GOOS=linux go build main.go 会生成一个没有后缀的二进制文件 main 将该文件放入linux系统某个文件夹下 赋予权限 chmod 777 main 最后执行 ./main ......
服务器 linux

go学习 day242 文件操作

案例:读取文件内容 package main import ( "fmt" "os" ) func main() { // 打开文件 file, err := os.Open("G:\\test\\test.txt") if err != nil { fmt.Println("open file e ......
文件 day 242

Spring Boot事件的全面指南:事件类、发布者、监听器、异步、条件

ApplicationEvent介绍 SpringBoot中的ApplicationEvent是一种基于观察者模式实现的事件处理方式,它可以用于在Spring容器内部发布和订阅消息。事件监听与发布的过程如下: 事件类(Event):继承自ApplicationEvent类,用于封装事件数据。从Spr ......
事件 监听器 发布者 条件 指南

sessionStorage可以多窗口共享吗?答案:可以,但是有限制条件;且不可用共享二字,应该是属于复制,无法互操作。

1、sessionStorage 本身sessionStorage就是每打开一个新窗口,就有一个自己的sessionStorage对象,关闭窗口即 过期当前窗口的sessionStorage; 但是通过A页面打开的B页面( 如:window.open('同源网址') ),会进行源网页sessionS ......
sessionStorage 答案 条件

Go 语言体系下的微服务框架选型: Dubbo-go

本文介绍了Go 微服务体系发展与选型,过去一年Dubbo-go 社区的飞速发展以及对未来的展望。 一、Go 微服务体系发展与选型 随着微服务技术的快速发展,其在各个领域都形成了一系列事实标准,在 Kubernetes 和容器技术加持下,云原生微服务已经成为了主流解决方案。而 Go 语言作为云原生领域 ......
框架 Dubbo-go 体系 语言 Dubbo

后端开发Go语言-Gin框架

随心记录,内容仅供参考! 2023/04/09 gin框架介绍及安装 2023/04/09 gin框架路由router ......
框架 语言 Gin