编程笔记 Golang基础 039 init 函数

编程笔记 Golang基础 039 init 函数 一、`init` 函数的关键特性与用法二、应用示例小结 一、init 函数的关键特性与用法 定义和调用: init 函数没有参数也不返回任何值。init 函数不需要显式声明其返回类型,直接使用 func init() { ... } 即可定义。init 函数不能被其他函数调用,它们由 Go 运行时自动、隐式地调用。 执行时机: 当一个包(package)被...

golang 函数式编程库samber/mo使用: Either

golang 函数式编程库samber/mo使用: Either 如果您不了解samber/mo库, 请先阅读第一篇 Option 结构定义 有时候我们不确定值的类型, 一个值可能是int, 也可能是string, 这时候我们可以使用Either类型。 Either类型是一种表示两种可能值的类型, 和python中的 Optional类似。 结构定义如下: type Either[L any, R any]...

golang 函数式编程库samber/mo使用: Future

golang 函数式编程库samber/mo使用: Future 如果您对samber/mo库不了解, 请先阅读第一篇 Option 本节讲述Future的使用,它可以帮助我们处理异步编程问题。 示例 我们先来看看下面代码的示例, 注释解释了每一步的操作。 package main import ( "fmt" "github.com/samber/mo") func main() { // resolv...

编程笔记 Golang基础 033 反射的类型与种类

编程笔记 Golang基础 033 反射的类型与种类 一、反射的类型和种类二、切片与反射三、集合与反射四、结构体与反射五、指针与反射六、函数与反射小结 一、反射的类型和种类 在Go语言中,反射主要涉及两种核心类型和一个概念——种类(Kind): reflect.Type: reflect.Type 表示Go程序中的任何类型的元数据或类型描述符。它提供了类型的各种信息,如名称、包路径、方法集以及其底层的种类(...

golang中goroutine和线程的区别?

00。 Goroutine 的切换约为 200 ns,相当于 2400-3600 条指令。 因此,goroutines 切换成本比 threads 要小得多。 本文节选于Go合集《Go 语言问题集》:GOLANG ROADMAP 一个专注Go语言学习、求职的社区。...

Golang 乐观锁实战

文章目录 乐观锁与悲观锁:并发控制的哲学Gorm 乐观锁插件:简化并发控制定义模型与版本号使用乐观锁进行数据操作 实际示例:乐观锁在并发场景中的应用商品模型与库存管理 深入理解乐观锁的工作原理版本号的魔法冲突处理策略示例:处理乐观锁冲突 乐观锁在分布式系统中的挑战分布式锁的实现乐观锁与分布式锁的结合 乐观锁在实际业务场景中的应用订单处理系统内容管理系统金融交易系统 乐观锁的性能考量冲突的概率数据库的写入压力...

编程笔记 Golang基础 031 接口与OCP设计原则

编程笔记 Golang基础 031 接口与OCP设计原则 一、Go 语言中的接口设计与OCP设计原则二、Go 语言接口设计遵循 OCP 原则的应用示例三、Go语言与面向对象程序设计 一、Go 语言中的接口设计与OCP设计原则 Go 语言中的接口设计在体现开闭原则(OCP, Open-Closed Principle)方面具有天然的优势。开闭原则主张软件实体应当对扩展开放,对修改关闭,也就是说,当需求变化时,...

编程笔记 Golang基础 020 流程控制

编程笔记 Golang基础 020 流程控制 一、条件语句(If-else)二、Switch语句三、循环语句:For循环四、跳转语句五、示例小结 主要包含以下几种结构: 一、条件语句(If-else) // 基本的if语句if condition { // 条件为真时执行这里的语句} // if-else 结构if condition { // 当条件为真时执行这里的语句} else { // 当条...

编程笔记 Golang基础 012 项目构建

编程笔记 Golang基础 012 项目构建 一、模块(Module)、包(Package)和文件二、项目结构三、VsCode项目管理四、Goland项目管理五、工作空间小结 一、模块(Module)、包(Package)和文件 Go 语言中的模块(Module)、包(Package)和文件有着紧密的关系,它们共同构成了 Go 语言的代码组织结构和依赖管理机制: 模块(Module): Go 语言从 1.1...

golang语言中简单使用protobuf时遭遇go_package困难重重

和 protoc-gen-go执行导出命令 编写协议使用文件 体会总结 前言 Protobuf,全称Protocol Buffers,是一种由Google开发的用于序列化结构化数据的开源数据交换格式,Golang作为一种后端语言,免不了使用protobuf这种数据交换格式,本来打算写个小例子展示一下怎样在go语言中使用protobuf,结果遇到的问题到不少,特别是这个go_package的要求,也是之前在项目...
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.004737(s)
2024-05-20 18:22:40 1716200560