go
文章平均质量分 71
march of Time
程序媛一枚
展开
-
go获取正在运行的函数并及时捕获panic
因此,在使用 panic 和 recover 时,应该谨慎考虑是否真的需要它们,以及它们在程序中的作用。Go 语言中,panic 是一种运行时错误,它会导致当前 goroutine 立即停止执行,并开始逐层向上返回,直到被 recover 捕获或者程序崩溃。当 panic 发生时,defer 语句注册的函数仍然会被执行,这允许程序进行必要的清理工作,如关闭文件、释放资源等。通过使用 defer 和 recover,可以在发生 panic 时防止程序完全崩溃,允许程序优雅地处理错误。原创 2024-07-09 18:03:09 · 368 阅读 · 0 评论 -
go使用ssh执行脚本文件
go语言使用ssh包在远程服务器执行命令原创 2024-06-14 16:48:00 · 252 阅读 · 0 评论 -
gorm的find和scan使用
在 GORM 中,.Find() 和 .Scan() 都可以用于检索数据库记录,但它们之间存在一些差异,并不完全等同于彼此。原创 2024-06-03 11:28:15 · 1658 阅读 · 0 评论 -
示例:go语言将结构体的数据保存为JSON格式的文本数据
JSON格式是一种用途广泛的对象文本格式。在Go语言中,结构体可以通过系统提供的json.Marshal()函数进行序列化。为了演示怎样通过反射获取结构体成员及各种值的过程,下面使用反射将结构体序列化为文本数据。内容摘录自《go语言从入门到进阶实战》(2)准备要序列化的结构体数据。(1)准备数据结构体。(3)调用序列化函数。原创 2023-01-30 18:27:19 · 934 阅读 · 0 评论 -
go语言的channel笔记
同理,如果缓冲通道中有数据,接收时将不会发生阻塞,直到通道中没有数据可读时,通道将会再度阻塞。·第11行,使用了time包提供的函数After(),从字面意思看就是多少时间之后,其参数是time包的一个常量,time.Second表示1秒。由于通道的数据在没有接收方处理时,数据发送方会持续阻塞,因此通道的接收必定在另外一个goroutine中进行。·第18行,匿名goroutine即将结束时,通过通道通知main的goroutine,这一句会一直阻塞直到main的goroutine接收为止。原创 2022-11-03 15:43:31 · 353 阅读 · 1 评论 -
【学习笔记】go协程和通道
摘自《go语言从入门到进阶实战》和韩顺平《go语言核心编程》虽然,线程池为逻辑编写者提供了线程分配的抽象机制。但是,如果面对随时随地可能发生的并发和线程处理需求,线程池就不是非常直观和方便了。能否有一种机制:使用者分配足够多的任务,。这种机制在Go语言中被称为goroutine。goroutine的概念类似于线程,但goroutine由Go程序运行时的调度和管理。Go程序会智能地将goroutine中的任务合理地分配给每个CPU。原创 2022-09-05 15:42:26 · 1230 阅读 · 0 评论 -
go语言中的结构体和组合思想入门示例
参考《go语言从入门到进阶实战》和韩顺平《go语言核心编程》原创 2022-07-21 17:02:33 · 829 阅读 · 0 评论 -
go语言的字符串类型、常量类型和容器类型
go语言笔记原创 2022-07-06 17:01:12 · 1034 阅读 · 0 评论 -
【学习笔记】go语言中变量赋值规则
文章目录前言1.标准格式2.编译器推导类型的格式3.推导声明写法多个变量同时赋值匿名变量——没有名字的变量前言本文章是go语言的学习笔记,用作go的入门学习,已经能熟虑使用go的就不用看了。1.标准格式var 变量名 类型 = 表达式例如:游戏中,玩家的血量初始值为100。可以这样写:var hp int = 100这句代码中,hp为变量名,类型为int,hp的初始值为100。 上面代码中,100和int同为int类型,int可以认为是冗余信息,因此可以进一步简化初始化的写法。2.编译器原创 2022-04-26 14:23:56 · 2614 阅读 · 0 评论