当前位置:首页 > 文章列表 >golang

golang
golang专题下共有 270 篇文章
  • Golang浮点数精度问题怎么解决
    Golang浮点数精度问题怎么解决
    浮点数精度丢失的根本原因是二进制存储限制导致十进制小数无法精确表示,进而引发截断和舍入误差。1.使用math/big包可进行高精度计算,适用于对精度要求极高的场景;2.使用decimal类型(如shopspring/decimal库)能有效避免货币等场景下的精度问题;3.在精度要求不高的情况下,可通过将浮点数转换为整数运算后再转回浮点数的方式减少误差;4.浮点数比较应避免直接使用==,而应判断差值是否小于一个极小阈值epsilon;5.处理舍入问题时可根据需求选择math.Round、math.Floor
    Golang· Go教程   |  4天  |   golang 浮点数精度 165浏览 收藏
  • Golang结构体为何用指针?大型结构体拷贝成本分析
    Golang结构体为何用指针?大型结构体拷贝成本分析
    在Golang中,使用结构体指针主要是为了避免大型结构体的拷贝开销,并允许函数或方法修改结构体本身。1.大型结构体应使用指针传递以减少CPU和内存开销;2.需要修改结构体时必须使用指针;3.方法接收者使用指针可避免拷贝并支持修改;4.小型结构体或无需修改时适合使用值类型;5.可通过unsafe.Sizeof()判断结构体大小决定是否使用指针;6.使用指针需注意空指针、内存泄漏、并发安全及代码可读性问题。
    Golang· Go教程   |  8小时  |   golang 指针 性能优化 结构体 拷贝开销 163浏览 收藏
  • Golang大文件读取优化技巧分享
    Golang大文件读取优化技巧分享
    Golang处理大文件读取时,避免一次性加载到内存的关键方法是使用bufio.Scanner或io.Reader接口配合缓冲读取。1.使用bufio.Scanner逐行读取文件内容,通过scanner.Scan()控制每次读取的数据量,并可设置缓冲区大小以避免内存溢出;2.利用io.Reader接口分块读取文件,创建缓冲区并循环调用file.Read(buffer)逐步处理数据,减少内存压力;3.优化性能可通过选择合适的缓冲区大小(如4KB到64KB)、使用bufio.NewReader减少系统调用次数、
    Golang· Go教程   |  3天  |   golang 文件操作 162浏览 收藏
  • Golang错误处理优化与包装技巧
    Golang错误处理优化与包装技巧
    Golang错误处理冗余的优化可通过三种方式实现:①使用自定义错误类型,如定义ValidationError结构体以包含具体字段和错误信息,便于识别错误来源;②采用错误包装技巧,通过fmt.Errorf结合%w动词为错误添加上下文并保留原始错误信息,方便后续提取分析;③引入统一的错误处理中间件,在Web应用中集中捕获和处理错误,减少重复逻辑。这些方法共同减少了代码冗余,并提升了错误调试与追踪的效率。
    Golang· Go教程   |  1天  |   golang 错误处理 162浏览 收藏
  • Golang无库爬虫实现教程
    Golang无库爬虫实现教程
    要实现一个简单的Web爬虫,可使用Go标准库net/http和golang.org/x/net/html。1.使用http.Get获取网页内容,并处理错误与响应关闭;2.利用html包解析HTML,遍历节点提取所需标签信息;3.控制并发与避免重复抓取,通过map记录已访问URL并用channel限制goroutine数量。这样即可构建一个基础但有效的爬虫框架。
    Golang· Go教程   |  7小时  |   golang 爬虫 并发控制 net/http HTML解析 162浏览 收藏
  • 手把手教你用Golang搭建高效gRPC远程调用
    手把手教你用Golang搭建高效gRPC远程调用
    Golang结合gRPC能高效构建类型安全的微服务架构。1.定义.proto文件定义服务接口;2.使用protoc生成gRPC代码;3.实现服务端逻辑;4.创建客户端调用服务;5.启动服务并运行客户端。性能调优包括连接池复用、负载均衡、压缩、流式传输、避免N+1查询、使用Profiling工具监控。错误处理通过status包、自定义错误码、拦截器、客户端重试、日志记录和Context传递实现。安全性方面采用TLS加密、双向认证、认证授权、访问控制、防重放攻击、输入验证及定期更新证书。
    Golang· Go教程   |  6天  |   golang grpc 微服务 安全性 性能调优 161浏览 收藏
查看更多
课程推荐
  • Golang深入理解GPM模型
    Golang深入理解GPM模型
    Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
    473次学习
  • Go语言课程Gin框架实战
    Go语言课程Gin框架实战
    Gin是一个用Go(Golang)编写的HTTPweb框架。它是一个类似于 martini 但拥有更好性能的API框架,由于 httprouter,速度提高了近40倍。如果你需要极好的性能,使用Gin吧。
    338次学习
  • Golang云原生架构师课程
    Golang云原生架构师课程
    Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
    204次学习
  • Go编程基础视频教程
    Go编程基础视频教程
    Go是一门并发支持、垃圾回收的编译型系统编程语言,旨在创造一门具有在静态编译语言的高性能和动态语言的高效开发之间拥有良好平衡点的一门编程语言。我们收集了这套《Go编程基础视频教程》,希望能够帮助大家更好的学习go语言。
    167次学习
  • Golang进阶实战编程
    Golang进阶实战编程
    本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
    127次学习
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码