闭包go
冒泡、选择、插入排序的Go语言实现
这三种排序之所以放到一起说,是因为他们都比较基础,其最差时间复杂度皆为O(n²),空间复杂度皆为O(1)。 最差时间复杂度为O(n²)并不意味着他们就一定比快排、归并等排序算法差,因为时间复杂度只是一个理论相关值,实际排序的耗时和数组规模、数组的有序程度以及 比较/交换次数 都有关系。 鉴于算法较为 ......
Go 引入Gin框架并实现Get请求
一、概述 学习一下Go语言,主要为了观察一下其语言特性。了解一下其与Java/Kotlin/C/C++/Python其语言的区别 二、搭建步骤 1.使用LiteIDE新建目录并创建一个.go文件 2.引入Gin库 a.创建mod文件,并下载导入gin go mod init go_workspace ......
JavaScript的闭包、执行上下文、到底是怎么回事?还有必要学吗?
在上一课,我们了解了 JavaScript 执行中最粗粒度的任务:传给引擎执行的代码段。并且,我们还根据“由 JavaScript 引擎发起”还是“由宿主发起”,分成了宏观任务和微观任务,接下来我们继续去看一看更细的执行粒度。 一段 JavaScript 代码可能会包含函数调用的相关内容,从今天开始 ......
Go基础
Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。 —— Go - wikipedia.org 1 Go 安装 最新版本下载地址官方下载 golang.org,当前是 1.21.5。如无法访问,可以在 https://go.dev/dl/ 下载 ......
切换模式 写文章 登录/注册 go语言json技巧忽略某个字段/忽略空值字段
10 人赞同了该文章 忽略某个字段 // 使用json tag指定json序列化与反序列化时的行为 type Person struct { Name string `json:"name"` // 指定json序列化/反序列化时使用小写name Age int64 Weight float64 ` ......
Go语言make与new函数区别
Go语言make与new方法区别 在 Go 语言中,有两个比较雷同的内置函数,分别是 new 和 make 方法,其主要用途都是用于分配相应类型的内存空间。 基本特性 make 在 Go 语言中,内置函数 make 仅支持 slice、map、channel 三种数据类型的内存创建,其返回值是所创建 ......
lc -- 第 121 场双周赛(bfs, 数位dp, python3, go)
简单模拟 class Solution: def missingInteger(self, nums: List[int]) -> int: res = nums[0] for i in range(1, len(nums)): if nums[i] == nums[i - 1] + 1: res ......
Go语言控制协程(goroutine)的并发数量,有哪些好的解决方法
Go语言控制协程(goroutine)的并发数量,有哪些好的解决方法 磊丰 Go语言圈 2023-12-07 08:31 发表于广东 听全文 Go语言圈 Go语言开发者的学习好助手,分享Go语言知识,技术技巧,学习与交流Go语言开发经验,互动才有助于技术的提升,每天5分钟,助你GO语言技术快乐成长 ......
go语言结构体,函数与方法
一、定义结构体 go语言自定义数据类型使用 type ,定义结构体使用 type + stuct 关键字 package main import ( "fmt" ) type Cat struct { Name string Age int8 Color string } func main(){ ......
Go语言常见错误| 滥用getters/setters
Go语言常见错误| 滥用getters/setters 原创 云原生Go 源自开发者 2024-01-07 15:33 发表于广东 听全文 源自开发者 专注于提供关于Go语言的实用教程、案例分析、最新趋势,以及云原生技术的深度解析和实践经验分享。 67篇原创内容 公众号 在Go语言编程中,恰如其分地 ......
go
1.GO ENV 查看env值 go env GO111MODULE="on" GOARCH="arm64" ... 设置env Go 1.13 及以上(推荐) # 开启GO mod 和设置go模块代码 $ go env -w GO111MODULE=on $ go env -w GOPROXY=h ......
2024-01-06:用go语言,在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧 在桥上有一些石子,青蛙很讨厌踩在这些石子上 由于桥的长度和青蛙一次跳过的距离都是正整数 我们可以把独木桥
2024-01-06:用go语言,在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧 在桥上有一些石子,青蛙很讨厌踩在这些石子上 由于桥的长度和青蛙一次跳过的距离都是正整数 我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0...L 其中L是桥的长度,坐标为 0 的点表示桥的起点, ......
Go 语言为什么建议多使用切片,少使用数组?
大家好,我是 frank,「Golang 语言开发栈」公众号作者。 01 介绍 在 Go 语言中,数组固定长度,切片可变长度;数组和切片都是值传递,因为切片传递的是指针,所以切片也被称为“引用传递”。 读者朋友们在使用 Go 语言开发项目时,或者在阅读 Go 开源项目源码时,发现很少使用到数组,经常 ......
Python笔记三之闭包与装饰器
本文首发于公众号:Hunter后端 原文链接:Python笔记三之闭包与装饰器 这一篇笔记介绍 Python 里面的装饰器。 在介绍装饰器前,首先提出这样一个需求,我想统计某个函数的执行时间,假设这个函数如下: import time def add(x, y): time.sleep(1) ret ......
go SSH远程终端及WebSocket
目前chisel基于tcp http websocket 的ssh 代理!! 所以这个东西不就是可以直接远程登录了吗?就行jumpserver 一样 和chisel 一样使用 ssh go get "github.com/gorilla/websocket" go get "golang.org/x ......
使用Ventoy制作Win to Go和Fedora to Go双系统
这是一次简短的记录 整体的思路实际上是通过虚拟机制作安装好系统的虚拟磁盘文件,然后加载到Ventoy中,从Ventoy启动 Ventoy官方网站 在实现的过程中,首先需要对存储介质(U盘等等,我是用的是固态硬盘盒)进行初始化并安装Ventoy 随后使用虚拟机来安装系统,装在物理机的硬盘上就可以了,大 ......
如何使用Go语言进行数据库操作
如何使用Go语言进行数据库操作 https://www.php.cn/faq/587088.html 引言:Go语言是一种高效且简洁的编程语言,拥有强大的并发能力和优秀的性能表现。在开发过程中,与数据库的交互是一个非常重要的环节。本文将介绍如何使用Go语言进行数据库操作,包括连接数据库、CRUD操作 ......
探索適用於Pokemon Go粉絲的 PGSharp iOS 替代品
PGSharp 是Pokemon Go玩家中的著名工具,尤其是 Android 用戶。 它允許玩家偽裝他們的位置,使他們能夠在不離開家的情況下從世界任何地方捕捉精靈寶可夢。 然而,iOS 用戶經常發現自己需要尋找替代品,因為 PGSharp 主要是為 Android 設計的。 本文探討了一些最佳的 ......
Go代码测试覆盖率
Go代码测试覆盖率 目录结构 ├── main.go └── main_test.go 代码 // main.go package main import "fmt" func Divide(a, b float64) (float64, error) { if b == 0 { return 0, ......
Go如何优雅的写数据库的单测
Go如何优雅的写数据库的单测 遇到的问题 当你想在代码中测试 Gorm 时,可以考虑使用单元测试或集成测试来确保 Gorm 的功能正常。下面是一个简单的示例,展示了如何编写一个基本的 Gorm 单元测试。 代码目录结构 app config config.yaml conf.go service ......
go语言defer,panic,recover 与错误处理
三个关键字 defer:在函数中,经常要打开资源(如:文件打开,数据库连接等),为了在函数执行后,及时释放资源,go的设计者提供defer(延时机制) panic:内置函数,接收一个interface{}类型的值(也就是任何值)作为参数,可接收error类型的变量,输出错误信息,并退出程序。 err ......
go 语言指针
指针 // 定义指针变量: var a *int // 给指针变量赋值 var b int = 10 a = &b // 打印变量地址 fmt.Println(&b) // 通过 & 符号取变量地址 // 打印指针变量 fmt.Println(a) //打印出来是个地址 // 打印指针变量值 fmt ......
Go 如何实现可重入锁
一、什么是可重入锁可重入锁又称为递归锁,是指在同一个线程在外层方法获取锁的时候,在进入该线程的内层方法时会自动获取锁,不会因为之前已经获取过还没释放再次加锁导致死锁。 Go 里面的 Mutex 不是可重入的锁。Mutex 的实现中没有记录哪个 goroutine 拥有这把锁。理论上,任何 gorou ......
安装和配置 go
# 安装和配置 go ## brew ```bash $ brew install go ``` 其他方式,可参考官网:https://go.dev/dl/ ## 配置代理 环境变量 ```bash $ echo "export GO111MODULE=on" >> ~/.profile $ ech ......
Go中的switch的6种使用:没有你想象中那么简单
Go中的switch的6种使用:没有你想象中那么简单 原创 二师兄 程序新视界 2023-12-04 07:10 发表于北京 听全文 Go以其简洁而著称,但并不是每个人都熟悉这种语言中switch语句的多样性。首先,如果你对Go的switch语句还不熟悉,它可能与其他语言相比有些不同。 下面是一个简 ......
go gorm 更新的时候不会更新空字段
做个记录,gorm在更新字段的时候,如果字符串字段是空的,那么将不会更新到数据库。 在使用gorm将一个字段更新为空的时候,发现并不生效,不了解具体什么原因,所以此时需要打开debug模式,查看原生SQL是如何执行的。 type Student struct { Model Email string ......
Go语言常见错误| 意外的变量隐藏
Go语言常见错误| 意外的变量隐藏 原创 云原生Go 源自开发者 2024-01-04 07:46 发表于广东 听全文 源自开发者 专注于提供关于Go语言的实用教程、案例分析、最新趋势,以及云原生技术的深度解析和实践经验分享。 62篇原创内容 公众号 在Go语言中,变量隐藏(Variable Sha ......
HashiCorp联合创始人:Go是成功且无悔的选择
HashiCorp联合创始人:Go是成功且无悔的选择 Tony Bai 40 人赞同了该文章 提到HashiCorp这个公司,可能很多人都没听说过。但提到vagrant、consul、nomad、terraform或者vault,那么你一定对这些工具或其中之一有所耳闻。这些工具都是HashiCorp ......
Go语言
存储结构: 1、切片 切片是Go中重要的数据类型,每个切片对象内部都维护着:数组指针(切片的地址)、切片长度、切片容量三个数据 长度是目前存储的数量,容量是最大存储数量 在向切片中追加的数据个数大于容量时,内部会自动扩容且每次扩容都当前容量的两倍(当容量超过1024时每次扩容则只增加当前容量的1/4 ......