golang专题下共有 12287 篇文章
-
- Golang函数参数为何用指针?性能与可变性解析
- Golang函数参数使用指针主要为了修改外部变量和提升性能。当需要在函数内部修改调用方的数据时,应使用指针传递,因为值传递仅操作副本;处理大型数据结构时,指针避免了复制开销,提高效率。但需注意数据竞争问题,避免多goroutine同时修改同一指针指向的数据。若不需要修改原始数据且结构较小,值传递更安全清晰。此外,使用指针时必须检查nil以防止崩溃。接口存储指针副本时,方法调用会影响原始数据,需谨慎处理。
- Golang· Go教程 | 2个月 | golang 函数参数 447浏览 收藏
-
- Golangerrors包常用技巧:New、Wrap与Unwrap解析
- 在Go语言开发中,errors包的New、Wrap和Unwrap方法是构建清晰错误链的关键工具。使用errors.New可快速创建基础错误,适合参数校验等简单场景;通过Wrap(来自第三方包)可在错误基础上添加上下文信息,形成调用链,便于问题定位;而Unwrap用于提取原始错误,常结合errors.Is或errors.As进行类型判断与处理;建议优先使用fmt.Errorf配合%w标记包装错误,并在统一处理逻辑中判断错误类型,避免冗余包装以保持错误链清晰易读。
- Golang· Go教程 | 2个月 | golang errors包 245浏览 收藏
-
- GolangWebhook签名失败怎么解决
- 确认签名算法一致性:检查发送方与接收方是否均使用相同的HMAC算法(如SHA256)。2.检查密钥是否正确:确保双方使用的密钥完全一致且无多余字符。3.验证数据是否被篡改:对接收到的数据进行完整性校验,比较原始数据与预期是否一致。4.处理编码问题:确保在计算签名前将数据解码为原始格式。5.检查HTTPHeader:确认签名值从Header中正确读取并解码。6.日志记录和调试:通过日志记录接收到的数据、签名、密钥等信息辅助排查问题。7.使用hmac.Equal防止时序攻击:采用该函数进行签名比较以提升安全性
- Golang· Go教程 | 2个月 | golang 143浏览 收藏
-
- Chromebook搭Golang环境:Linux容器教程
- 在Chromebook上使用Linux容器搭建Golang开发环境可通过以下步骤完成:1.启用Linux容器(Crostini)功能,在设置中找到“Linux开发环境”并点击安装;2.安装完成后打开终端,通过下载官方Go二进制包并解压至/usr/local目录进行安装;3.配置环境变量PATH和GOPATH,并写入~/.bashrc或~/.zshrc文件后执行source生效;4.验证安装成功后,使用VSCode+Remote-SSH插件或Vim/Nano等编辑器进行开发;5.初始化Go模块并构建项目结构
- Golang· Go教程 | 2个月 | golang 188浏览 收藏
-
- Golang文件操作:os与io/ioutil详解
- 用Golang开发文件管理系统的关键在于掌握os和io包的操作。1.创建文件使用os.Create,若文件已存在则会被清空;2.删除文件使用os.Remove,建议删除前通过os.Stat判断文件是否存在;3.读取文件内容可用os.ReadFile,适合一次性读取小文件;4.写入文件内容使用os.WriteFile,并设置权限参数如0644;5.遍历目录使用os.ReadDir,可结合entry.Info()获取更多文件信息;6.可基于flag包实现命令行工具,支持create、read、delete、l
- Golang· Go教程 | 2个月 | golang 文件管理系统 462浏览 收藏
-
- Golang用buildmode=plugin实现插件开发教程
- 要让Golang项目支持插件化开发,关键在于使用buildmode=plugin编译插件。1.插件代码需导出符号(如函数、变量)供主程序调用,并包含空的main函数;2.使用gobuild-buildmode=plugin编译插件为.so文件;3.主程序通过plugin.Open加载插件,并用Lookup获取符号后调用;4.解决版本冲突可通过版本控制、接口隔离、命名空间和依赖管理;5.实现热更新需卸载旧插件、加载新插件并替换符号;6.buildmode=plugin的限制包括平台支持、Go版本一致、类型安
- Golang· Go教程 | 2个月 | golang 插件化开发 349浏览 收藏
查看更多
课程推荐
-
- Golang深入理解GPM模型
- Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
- 474次学习
-
- Go语言课程Gin框架实战
- Gin是一个用Go(Golang)编写的HTTPweb框架。它是一个类似于 martini 但拥有更好性能的API框架,由于 httprouter,速度提高了近40倍。如果你需要极好的性能,使用Gin吧。
- 338次学习
-
- Golang云原生架构师课程
- Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
- 204次学习
-
- Go编程基础视频教程
- Go是一门并发支持、垃圾回收的编译型系统编程语言,旨在创造一门具有在静态编译语言的高性能和动态语言的高效开发之间拥有良好平衡点的一门编程语言。我们收集了这套《Go编程基础视频教程》,希望能够帮助大家更好的学习go语言。
- 167次学习
-
- Golang进阶实战编程
- 本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
- 129次学习