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

golang
golang专题下共有 270 篇文章
  • Golang性能优化技巧与代码提升方法
    Golang性能优化技巧与代码提升方法
    Golang性能优化的核心在于持续迭代和具体分析,而非依赖单一技巧。1.Profile先行:使用pprof工具定位CPU和内存瓶颈,避免盲目优化;2.减少内存分配:通过sync.Pool复用对象、strings.Builder拼接字符串、预分配slice/map容量;3.控制并发:利用channel限制goroutine数量;4.选择高效数据结构:如map替代slice、atomic包进行原子操作;5.合理使用编译器优化:避免不必要的类型转换、谨慎使用defer;6.深入分析:使用pprof的block/
    Golang· Go教程   |  4天  |   golang 性能优化 121浏览 收藏
  • Golang构建可扩展微服务API教程
    Golang构建可扩展微服务API教程
    用Golang编写可扩展的微服务API的核心在于选择合适框架、设计清晰接口及采用合理服务治理策略。1.选择Gin框架可提升开发效率和性能,其简洁API和中间件支持有助于快速构建服务;2.API设计应遵循RESTful原则,使用标准HTTP方法和语义化命名,如通过/users/{id}获取用户信息,并结合版本控制(如/v1/users)提升维护性;3.利用中间件实现身份验证、日志记录等功能,例如编写AuthMiddleware实现请求拦截与权限校验;4.使用Consul等工具实现服务发现,结合gRPC的Re
    Golang· Go教程   |  1天  |   golang 微服务 121浏览 收藏
  • Golang指针共享数据实现多协程操作
    Golang指针共享数据实现多协程操作
    在Go语言中,协程间数据共享可通过指针或通道实现。使用指针时,需通过同步机制确保并发安全:1.互斥锁(Mutex)保证同一时间仅一个协程访问资源;2.读写锁(RWMutex)允许多个协程同时读取,但写入时独占资源;3.原子操作(atomic包)用于简单高效的基本类型操作。此外,通道(channel)提供安全的数据传递机制,适合协程间通信而非频繁读写。其他并发控制机制包括:4.WaitGroup用于等待协程完成;5.Cond用于条件同步;6.Once用于单次执行初始化。选择策略:性能优先且频繁读写用指针加锁
    Golang· Go教程   |  13小时  |   golang 指针 120浏览 收藏
  • Golang状态模式原理与切换详解
    Golang状态模式原理与切换详解
    状态模式通过封装不同状态的行为实现对象行为的动态切换,其核心是解耦状态与行为。在Go中,使用接口和结构体组合实现状态模式,适用于处理工作流、角色状态、订单生命周期等场景。它由上下文(Context)、状态接口(StateInterface)和具体状态(ConcreteStates)三部分组成。以播放器为例,可定义播放、暂停、停止三种状态,点击按钮时根据当前状态执行相应逻辑。实现上,先定义状态接口,如typePlayerStateinterface{Play()Pause()Stop()},再实现多个状态结
    Golang· Go教程   |  3天  |   golang 上下文 状态模式 状态接口 行为切换 117浏览 收藏
  • Golang可变参数与切片使用详解
    Golang可变参数与切片使用详解
    在Go语言中,定义可变参数函数的方法是在参数类型前加上...,该参数必须是最后一个参数,并在函数内部作为切片处理;例如funcsum(nums...int)int函数可用于接收任意数量的整数参数并求和;调用时可以直接传入多个值,如sum(1,2,3),也可以传入一个展开的切片,如sum(values...);若要合并两个切片后传入,可使用append(a,b...)...;直接调用sum()相当于传入空切片,而sum(nil...)则传入nil切片,两者在函数内部可能有细微差别;此外,可变参数不仅限于基本
    Golang· Go教程   |  8小时  |   golang 函数 切片 可变参数 ...语法 117浏览 收藏
  • Go语言实战篇:手把手教你用Golang连接MySQL数据库
    Go语言实战篇:手把手教你用Golang连接MySQL数据库
    Golang连接MySQL需使用database/sql包及驱动。1.安装推荐的MySQL驱动github.com/go-sql-driver/mysql;2.通过sql.Open创建连接池并用db.Ping测试连接;3.查询时使用rows.Scan读取数据并确保关闭rows;4.更新操作使用db.Exec获取受影响行数;5.合理配置连接池参数如最大连接数和空闲数;6.使用预编译语句防止SQL注入;7.事务处理通过db.Begin开启,tx.Commit提交或tx.Rollback回滚以保证一致性。
    Golang· Go教程   |  1星期  |   golang mysql 连接池 事务 database/sql 114浏览 收藏
查看更多
课程推荐
  • 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次学习
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码