const go

go mod

go mod tidy 可能会修改指定的依赖版本号 go mod 的最小版本号选择的其实是选择所有 package 指定的 mod 的最大版本号 你指定了 v2.1.0, 但是依赖的某一个包指定了 v2.2.1, 最终编译就使用 v2.2.1 来编译 ......
mod go

(转)跟我一起学Go系列:日志系统从入门到晋级

原文:https://zhuanlan.zhihu.com/p/361930459 日志模块在如今的应用中地位是如日中天,开发者没有日志就相当于双目失明,对程序的运行状态无法判断。Go 也不例外提供了基础的日志调用模块:log 模块。log 模块主要提供了 3 类接口,分别是 “Print 、Pan ......
系统 日志

c++ const 关键字

c++ const 关键字 作用 修饰变量,说明该变量不可改变 修饰指针,分为指向指针的常量 (pointer to const) 和 自身是常量的指针 (const pointer) 修饰引用,指向常量的引用 (reference to const) 修饰成员函数,说明该成员函数内不能修改成员变量 ......
关键字 关键 const

go语言中函数定义细节

// 函数名驼峰命名法: addNum // 函数名首字母大写,该函数可以在其它文件夹下被引入使用类似于(pubilc) // 首字母小写只能被本包文件使用类似于(provite) ......
函数 细节 语言

Linux下搭建Go开发环境

Linux下搭建Go开发环境可以按照以下步骤进行: 1、下载最新的Go语言二进制包,可以从官网 https://golang.org/dl/ 下载。 2、将下载好的包解压缩到你想要安装的目录下,如 /usr/local/go。 3、添加环境变量,在终端中输入以下命令: export GOROOT=/ ......
环境 Linux

Go程序开发快速入门

当进行Go程序开发时,需要注意以下几点: 1、代码可读性:尽可能使用有意义的变量名和注释,确保代码易于理解和维护。 2、错误处理:Go语言有很好的错误处理机制,应该合理地处理错误,以便于排除错误。 3、内存管理:Go语言自动管理内存,但是如果存在大量的内存分配和垃圾回收,会影响程序性能,因此需要注意 ......
程序开发 程序

01-var、let、const的区别

title: 01-var、let、const的区别 var、let、const 的区别 1、var 声明的变量会挂载在 window 对象上,而 let 和 const 声明的变量不会 举例: var a = '我是a'; console.log(a); // 打印结果:我是a console.l ......
const var let 01

LeetCode-Go:一个使用 Go 语言题解 LeetCode 的开源项目

在中国的 IT 环境里,大多数场景下,学习算法的目的在于通过笔试算法题。 但算法书林林总总,有时候乱花渐欲迷人眼。 杜甫有诗云:读书破万卷,下笔如有神。不管选择哪本书,只要深入学习,分层次,逐层进阶,一定可以将算法攻克。 笔者强烈推荐一个 Github 开源项目 LeetCode-Go,你不仅可以把 ......
LeetCode 题解 LeetCode-Go 语言 项目

Go中使用JWT

原文链接:https://blog.csdn.net/m0_58121644/article/details/129643351 JWT (JSON Web Tokens) 是一种基于 JSON 格式的轻量级身份验证和授权方案。在 Go 项目中使用 JWT,一般需要完成以下步骤: 1. 安装 JWT ......
JWT

Go语言入门9(defer延迟处理函数)

Defer 延迟处理函数 特点 1. defer的运行的时间实在函数体运行的最后,在return之前 1. 多个 defer 的执行顺序为“后进先出/先进后出” return 和defer 的关系 ​ return的本质其实应该包含前后两个步骤:第一步是给返回值赋值(若为有名返回值则直接赋值,若为匿 ......
函数 语言 defer

Go语言入门8(匿名函数 闭包)

匿名函数 闭包 匿名函数 ​ 顾名思义,就是没有名字的函数。。。 func(){ fmt.Println("我就是匿名函数") } 匿名函数的两种执行方法 将匿名函数赋给一个变量 定义后立即执行匿名函数 // 讲匿名函数赋给一个变量 tmp := func(){ fmt.Println("我是匿名函 ......
闭包 函数 语言

go语言妙用

1、利用channel关闭,实现Context.Done() 这个Context.Done()的具体实现,需要看源码: 原理是: 当contxt用完被销毁后,就会关掉这个返回的匿名chan struct{},这样Done()本身读这个channel就会返回err,即有返回值,也就满足了这个case。 ......
妙用 语言

04-ES6:变量 let、const 和块级作用域

title: 04-ES6:变量 let、const 和块级作用域 publish: true ES6 的变量声明 ES5 中,使用 var 定义变量( var 是 variable 的简写)。 ES6 中,新增了 let 和 const 来定义变量: let:定义变量,替代 var。 const: ......
变量 作用 const ES6 let

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

简介 备忘录模式(Memento Pattern)是一种结构型设计模式。这种模式就是在不破坏封装的条件下,将一个对象的状态捕捉(Capture)住,并放在外部存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。备忘录模式常常与命令模式和迭代子模式一同使用。 备忘录模式的角色有三个:备忘 ......
设计模式 备忘录 语言 模式 Python

go 中break ,continue , goto, return 使用

// break可以结束当前最近的循环,不会阻碍后面的输出,如果想结束外层的循环,可以使用标签, for i := 1; i <= 5; i++ { for j := 2; j <= 4; j++ { fmt.Printf("i: %v,j: %v \n",i,j) if (i == 2 && j ......
continue return break goto go

go语言sync.Once

go语言sync.Once go语言sync.Once 数据结构 为什么done放在第一个字段 Do 总结 sync.Once 是 Go 标准库提供的使函数只执行一次的实现,常应用于单例模式,例如初始化配置、保持数据库连接等。作用与 init 函数类似,但有区别。 init 函数是当所在的 pack ......
语言 sync Once

"go修养之路" 总结

I/O操作 所有对流的操作都称之为I/O操作 当流没有数据read时或者流已经满了无法在write时,会出现阻塞现象 阻塞场景:一段流中wirte端写入数据时,read端读取。wirte端无数据时read端会阻塞等待直到有数据,但是在多个wirte端同时写入时会互斥也是说同一时刻read端只能处理一 ......
quot 修养 go

go项目中数据库连接,以及redis连接

文件:common/mysql.go 数据库连接文件 package common import ( "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/schema" "log" ) var DB *gorm.DB //全局定义DB var db ......
数据库 项目 数据 redis

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

* 中介者模式是一种行为型设计模式,它可以用来减少类之间的直接依赖关系, * 将对象之间的通信封装到一个中介者对象中,从而使得各个对象之间的关系更加松散。 * 在中介者模式中,对象之间不再直接相互交互,而是通过中介者来中转消息。 ......
中介者 设计模式 中介 语言 模式

dlv分析GO高CPU应用

delve是golang推荐的go语言调试工具。 构造100% CPU应用 package main import ( "time" ) func add() { i := 0 for { i++ } } func main() { go add() time.Sleep(time.Hour) } ......
dlv CPU

go语言sync.WaitGroup

go语言sync.WaitGroup WaitGroup的主要作用是,让一个或多个goroutine去等待另一组goroutine结束 数据结构 waitGroup的数据结构有过改动,具体是哪个版本改的没有去找 1.13版本的结构 type WaitGroup struct { noCopy noC ......
WaitGroup 语言 sync

go【goroutine】

1. goroutine 1. 重点 1.要搞清楚goroutine什么时候退出2. 控制goroutine退出3. 把并发给调用者 2. 代码示例 package main import ( "context" "fmt" "time" ) //1. 使用chan创建 //2 run函数消费cha ......
goroutine

go语言中如何把数字转换成字节切片并在网络中传输

客户端: 先把数字转换成uint32类型: var pkgLen = uint32(len(data)) 再定义一个字节切片: var buf = make([]byte, 4) 最后通过encoding.binary包中的方法,把无符号数字装载到字节切片中: binary.BigEndian.Pu ......
字节 语言 数字 网络

在Go语言中,如何优化内存使用效率?

在 Go 语言中,可以通过以下几种方式来优化内存使用效率: 避免使用过多的内存尽可能地避免使用过多的内存是最有效的内存优化方法之一。在编写代码时,应该尽可能地避免使用全局变量和大量的临时变量。同时,可以使用常量、静态变量和缓存等方式来避免频繁地分配和释放内存。 及时释放不需要的内存在 Go 语言中, ......
效率 内存 语言

如何避免在Go语言中出现内存泄漏的情况?

在 Go 语言中,内存泄漏是指程序在使用完内存后,没有及时释放这些内存,导致内存占用不断增加,最终导致程序崩溃。为了避免内存泄漏,可以采取以下几个措施: 及时释放不需要的内存在 Go 语言中,垃圾回收机制可以自动回收不再使用的内存。但是,垃圾回收机制不能立即回收所有不再使用的内存,这可能会导致内存占 ......
内存 语言 情况

Go笔记(九):结构体

1、类型定义与类型别名 1.1、类型定义 语法: type NewType Type NewType:表示自定义类型 Type:表示现有类型 1 package main 2 3 import "fmt" 4 5 // 类型定义 6 func definestruct() { 7 type Snai ......
结构 笔记

Go指针未初始化、越界、悬挂问题以及优点

关于指针未初始化、指针越界、指针悬挂 指针未初始化可能会导致程序崩溃或者出现奇怪的行为,看看下面这个例子: package main import "fmt" type MyStruct struct { value string } func (s *MyStruct) SetValue(val  ......
指针 优点 问题

R语言多元(多变量)GARCH :GO-GARCH、BEKK、DCC-GARCH和CCC-GARCH模型和可视化|附代码数据

全文链接:http://tecdat.cn/?p=30647 最近我们被客户要求撰写关于GARCH 的研究报告,包括一些图形和统计输出。 从Engle在1982发表自回归条件异方差(ARCH)模型的论文以来,金融时间序列数据的波动性就倍受关注。同时,近几年又出现了研究股票市场的波动传递性 多市场的多 ......
GARCH 变量 DCC-GARCH CCC-GARCH GO-GARCH

C++ const关键字

参考资料: 【C++ const的各种用法详解】【const用法深入浅出】 - COS - 博客园 (cnblogs.com) const的基本概念: const名叫常量限定符,用来限定特定变量,以通知编译器该变量是不可修改的。习惯性的使用const,可以避免在函数中对某些不应修改的变量造成可能的改 ......
关键字 关键 const

golang 编译问题:gorm.io/plugin/dbresolver@v1.2.1/dbresolver.go:139:18: cannot use map[string]gorm.Stmt{} (value of type map[string]gorm.Stmt) as type map[string]*gorm.Stmt in struct literal

golang 执行 sh build 来编译项目时,发现了有报错 pkg/mod/gorm.io/plugin/dbresolver@v1.2.1/dbresolver.go:139:18: cannot use map[string]gorm.Stmt{} (value of type map[s ......
gorm string dbresolver Stmt map