Go 语言学习笔记

我的Go学习之旅,记录我在Go语言中的相关学习、实践笔记
解决 Goland 无法 debug 高版本 Go 问题
因为 Go 版本过高,或者 Go 开发环境配置不正确等各种原因,大部分情况出现在同时使用多个 Go 版本得情况。
阅读(33) 09-13 13:52
彻底搞懂 Go 的执行环境
要想彻底搞懂 Go 的执行环境,我们首先得理解 Go 相关得环境变量
阅读(40) 09-13 10:27
Golang 大杀器之性能剖析 PProf
pprof 是用于可视化和分析性能分析数据的工具
阅读(822) 2023-08-28 18:05
Go slice的底层实现原理?
切片是基于数组实现的,它的底层是数组,可以理解为对底层数组的抽象,其占用 24 个字节,包含数据指针(8字节)、切片的长度(8字节)、切片的容量(8字节)三个字段
阅读(766) 2023-08-11 14:45
Go内置函数make和new的区别?
初始化变量一般分为两步:变量声明 + 变量内存分配,在 Go 语言中 var 关键字用来声明变量的,若声明变量是值类型系统会默认为他分配内存空间,并赋该类型的零值。
阅读(735) 2023-08-11 14:36
Go defer关键字的实现原理?
defer 能够让我们推迟执行某些函数调用,推迟到当前函数返回前才实际执行。defer 与 panic 和 recover 结合,形成了Go语言风格的异常与捕获机制。defer 语句经常被用于处理成对的操作,如文件句柄关闭、连接关闭、释放锁。虽然 defer 方便开发者使用,但是也有一定的性能损耗。
阅读(775) 2023-08-11 14:19
Go函数参数传递到底是值传递还是引用传递?
Go语言中所有的传参都是值传递(传值),都是一个副本,一个拷贝。是否可以修改原内容数据,和传值、传引用没有必然的关系。但在Go语言里因为参数是引用类型,虽然只有传值,但是我们还是可以修改原内容数据。
阅读(825) 2023-08-11 14:14
Go函数返回局部变量的指针是否安全?
一般来说,局部变量会在函数返回后被销毁,因此被返回的引用就成为了 “无所指” 的引用,程序会进入未知状态。但这在 Go 中是安全的,Go 编译器将会对每个局部变量进行逃逸分析。如果发现局部变量的作用域超出该函数,则不会将内存分配在栈上,而是分配在堆上,因为他们不在栈区,即使释放函数,其内容也不会受影响。
阅读(817) 2023-08-11 14:05
Go方法值接收者和指针接收者的区别?
如果方法的接收者是指针类型,无论调用者是对象还是对象指针,修改的都是对象本身,会影响调用者;如果方法的接收者是值类型,无论调用者是对象还是对象指针,修改的都是对象的副本,不影响调用者;
阅读(815) 2023-08-11 13:53
Go 语言常见知识点总结
Go 语言常见知识点总结,相关开发技巧,避坑指南
阅读(835) 2023-08-06 15:29
Go 常用标准库之fmt
fmt 包实现了类似C语言 printf 和 scanf 的格式化I/O。格式化动作(‘verb’)源自C语言但更简单。
阅读(598) 2023-07-13 15:49
Go 常用标准库之io
io包提供了对 I/O 原语的基本接口。本包的基本任务是包装这些原语已有的实现(如os包里的原语),使之成为共享的公共接口,这些公共接口抽象出了泛用的函数并附加了一些相关的原语的操作。因为这些接口和原语是对底层实现完全不同的低水平操作的包装,除非得到其它方面的通知,客户端不应假设它们是并发执行安
阅读(531) 2023-07-12 20:37
Go 常用标准库之os
os 包提供了操作系统函数的不依赖平台的接口。设计为 Unix 风格的,虽然错误处理是 go 风格的;失败的调用会返回错误值而非错误码。通常错误值里包含更多信息。例如,如果某个使用一个文件名的调用(如Open、Stat)失败了,打印错误时会包含该文件名,错误类型将为*PathError,其内部可以解包获得更多信息。
阅读(1213) 2023-07-11 14:57
Go 常用标准库之sync
sync 包提供了基本的同步基元,如互斥锁。除了 Once 和 WaitGroup 类型,大部分都是适用于低水平程序线程,高水平的同步使用 channel 通信更好一些。
阅读(1169) 2023-07-11 14:53
Go 常用标准库之net
net 包提供了可移植的网络I/O接口,包括TCP/IP、UDP、域名解析和Unix域socket。
阅读(1007) 2023-07-11 13:11

不拘一格

职业:后端开发工程师
学校:重庆师范大学
城市:重庆
文章:165
一个喜欢学习的人,快来和我成为朋友吧....

登录逐梦笔记

注册逐梦笔记

已有账号?