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

golang
golang专题下共有 971 篇文章
  • Golang高并发优势解析:goroutine在IO中的表现
    Golang高并发优势解析:goroutine在IO中的表现
    Goroutine通过轻量级并发模型和高效调度机制实现高并发。其核心在于:1.采用goroutine作为轻量级执行单元,由Go运行时管理,可轻松创建成千上万个;2.调度器自动将goroutine分配到OS线程,当IO阻塞时切换至其他任务,避免CPU空闲;3.在IO密集型场景下,充分利用等待IO的时间执行其他goroutine,提高资源利用率;4.使用channel通信、控制数量、避免同步阻塞来优化性能;5.基于工作窃取策略平衡负载,并支持抢占式调度保障公平性;6.提供pprof、trace等工具监控调试,
    Golang· Go教程   |  2星期  |   golang 高并发 483浏览 收藏
  • Golang并发读写文件,sync.Mutex使用技巧
    Golang并发读写文件,sync.Mutex使用技巧
    Go的os.File类型本身不是并发安全的,多个goroutine同时读写文件会导致数据竞争或内容混乱。sync.Mutex用于保护共享资源,确保同一时间只有一个goroutine执行写操作。1.并发写入必须加锁,否则会出现数据错乱;2.仅并发读取可不加锁,但混合读写时需统一加锁;3.使用sync.RWMutex可提升读性能,在有大量并发读、少量写时更高效;4.每个文件应有独立锁,避免共用全局锁;5.必须在操作完成后关闭文件以防止资源泄漏。正确使用锁机制能确保并发文件操作的安全与高效。
    Golang· Go教程   |  2星期  |   golang 并发读写 208浏览 收藏
  • Golang文件上传全流程详解
    Golang文件上传全流程详解
    Golang中处理文件上传需接收multipart/form-data请求、校验文件类型与大小、安全存储并处理错误。1.使用r.ParseMultipartForm(maxMemory)解析请求,通过r.FormFile获取文件;2.校验文件类型(如读取前512字节检测MIME类型)和大小(如限制10MB),并重置文件指针;3.生成唯一文件名(如UUID)避免冲突,设置目录权限防止攻击;4.每个步骤检查错误并返回相应HTTP状态码;5.优化大文件上传可通过流式处理、合适缓冲区、CDN、分片上传及HTTP/
    Golang· Go教程   |  2星期  |   golang 文件上传 218浏览 收藏
  • Golang首个命令行工具:flag与os.Args教程
    Golang首个命令行工具:flag与os.Args教程
    学习Golang命令行参数处理,首选os.Args和flag包。1.os.Args适合获取简单、少量的参数,直接以字符串切片形式提供所有输入参数;2.flag包适合需要结构化解析的场景,支持类型化参数定义及标准格式(如-name=value),并可获取未被解析的位置参数。选择依据:参数少且无需复杂解析时用os.Args,参数多或需规范格式与默认值时用flag包。
    Golang· Go教程   |  2星期  |   golang 命令行工具 422浏览 收藏
  • Golang日志库使用与格式自定义教程
    Golang日志库使用与格式自定义教程
    在Golang中实现带颜色的日志输出,需借助第三方库如github.com/fatih/color;1.引入color库并创建颜色对象,使用color.New()定义不同颜色和样式;2.使用Fprintf、Printf或Println方法输出带颜色文本;3.可结合Logger实例,通过SetPrefix设置带颜色的前缀,实现更灵活控制。
    Golang· Go教程   |  2星期  |   golang 日志记录 265浏览 收藏
  • Golang实现FTP客户端与textproto解析详解
    Golang实现FTP客户端与textproto解析详解
    使用Golang开发FTP客户端的核心方法是通过标准库net/textproto处理基于行的协议通信。其核心答案在于利用textproto.Reader和textproto.Writer结构体实现命令发送与响应解析。具体步骤包括:1.建立TCP连接至FTP服务器;2.使用textproto.NewReader读取欢迎信息并验证状态码;3.通过fmt.Fprintf发送带CRLF结尾的命令(如USER、PASS);4.调用ReadCodeLine方法校验服务器返回的状态码以确保流程正确;5.在此基础上扩展支
    Golang· Go教程   |  2星期  |   golang FTP客户端 492浏览 收藏
查看更多
课程推荐
  • Golang深入理解GPM模型
    Golang深入理解GPM模型
    Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
    474次学习
  • 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通道如何传递数据,反射等等。
    128次学习
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码