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

golang
golang专题下共有 147 篇文章
  • Go语言怎么设置SQL查询超时?教你优雅解决查询超时问题
    Go语言怎么设置SQL查询超时?教你优雅解决查询超时问题
    数据库查询超时的处理需结合代码、数据库及网络综合解决。1.使用Context控制超时是最推荐的方式,通过context.WithTimeout设置超时时间并传入db.QueryContext,超时后返回context.DeadlineExceeded错误;2.数据库连接参数可设置全局超时,如MySQL的timeout、readTimeout等,但灵活性差;3.部分驱动支持SetDeadline方法,但实现复杂且不推荐;4.优雅处理错误应判断错误类型并考虑重试机制,最多尝试若干次并配合指数退避策略;5.日志
    Golang· Go教程   |  6天  |   golang 连接池 SQL优化 context 数据库查询超时 281浏览 收藏
  • Go语言高并发IO优化技巧,让你的程序跑得更快!
    Go语言高并发IO优化技巧,让你的程序跑得更快!
    Golang处理高并发IO的关键在于利用其内置的goroutine和channel机制,以及高效的网络库。核心目标是避免阻塞,充分利用多核CPU资源,并减少上下文切换的开销。解决方案:使用Goroutine和Channel进行并发处理:这是Golang并发模型的基础。为每个连接或请求创建一个goroutine,并通过channel进行数据传递和同步。避免使用锁,尽量采用channel来协调goroutine之间的工作。选择合适的IO模型:Golang的net包默认使用epoll(Linux)或k
    Golang· Go教程   |  6天  |   golang 高并发IO 247浏览 收藏
  • 手把手教学!Golang嵌入式开发必备的Go与C语言交互指南
    手把手教学!Golang嵌入式开发必备的Go与C语言交互指南
    Golang嵌入式开发的关键在于结合Go的并发能力和C的底层操作优势,通过cgo实现两者交互。1.使用cgo时需安装C编译器并配置环境变量;2.在Go代码中使用import"C"调用C函数,并注意类型转换;3.C中调用Go函数需用//export导出并在C中声明;4.数据类型转换需注意内存管理,如字符串和字节切片的处理;5.错误处理依赖返回值或errno检查;6.嵌入式环境中需配置交叉编译参数;7.性能优化可通过减少调用次数、批量处理、共享内存等方式;8.需注意cgo带来的编译时间增加、安全风险及可移植性
    Golang· Go教程   |  6天  |   golang 嵌入式开发 376浏览 收藏
  • Go语言玩转PostgreSQL,手把手教你从零基础到精通!
    Go语言玩转PostgreSQL,手把手教你从零基础到精通!
    Golang操作PostgreSQL的核心在于选择合适驱动、使用预编译防止SQL注入、利用连接池提升并发性能、正确处理数据类型映射以及进行数据库迁移管理。1.选择驱动时,pgx相比pq性能更好且功能更强大;2.使用$1占位符实现预编译语句有效防止SQL注入;3.利用pgxpool创建连接池支持高并发访问;4.PostgreSQL数据类型如JSONB可通过pgtype库自动映射到Go结构体;5.使用golang-migrate/migrate工具实现数据库版本控制与迁移。掌握这些关键点能显著提升Golang
    Golang· Go教程   |  6天  |   golang PostgreSQL 数据库 迁移 pgx 268浏览 收藏
  • TCP连接被重置?Golang开发者必看排查指南
    TCP连接被重置?Golang开发者必看排查指南
    TCP连接重置通常由服务器端主动关闭、客户端发送数据过早、连接超时、网络问题、防火墙或代理干预、服务器崩溃等原因引起。排查步骤包括:1.查看日志,关注连接建立和数据传输中的异常;2.使用tcpdump/Wireshark抓包,分析RST包来源及上下文;3.检查代码逻辑,特别是连接处理和错误处理部分;4.检查系统配置,如TCPKeepalive设置及防火墙规则;5.用curl/telnet模拟客户端请求,判断是否为客户端代码问题。可通过RST包的源IP、序列号等信息区分是客户端还是服务端引发的重置。在Gol
    Golang· Go教程   |  6天  |   golang 日志分析 网络问题 TCP连接重置 TCPKeepalive 420浏览 收藏
  • 手把手教你用Golang搭配Docker轻松实现容器化部署
    手把手教你用Golang搭配Docker轻松实现容器化部署
    如何在GolangDocker镜像中使用多阶段构建优化镜像大小?答案是使用多阶段构建技术,通过多个FROM指令将编译和运行环境分离。1.首先使用Golang镜像进行编译;2.然后将生成的可执行文件复制到更小的基础镜像(如Alpine)中;3.最终镜像仅包含必要运行文件,从而显著减小体积。这种方法避免了将开发工具和依赖保留在最终镜像中,有效优化了镜像大小。
    Golang· Go教程   |  6天  |   golang docker dockercompose 容器化 多阶段构建 497浏览 收藏
查看更多
课程推荐
  • 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次学习
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码