Go问答技术文章

  • 为什么我的Go程序无法正确使用Context库?
    为什么我的Go程序无法正确使用Context库?
    Go语言是一门并发编程十分优秀的编程语言,Go程序的并发使用一般使用协程和通道来实现。而在Go语言中,Context库则被广泛用于控制协程的生命周期和取消操作等。然而,有时候我们会遇到一些问题,例如我们的Go程序无法正确使用Context库,使得程序运行异常,那么为什么会出现这样的问题呢?本文将详细介绍Context库在Go程序中的使用,以及可能会导致Con
    Golang · Go问答   |  3年前  |   程序调试 Go语言 Context库 489浏览 收藏
  • 等效于 Python 的列表推导
    等效于 Python 的列表推导
    问题内容 我正在玩围棋,但我很难做其他语言非常简单的事情。 我想重现一个[Python 理解](https://docs.python.org/3/tutorial/datastructures.html#list- comprehensions): array = [a for a in anotherArray if (some condit
    Golang · Go问答   |  3年前  |   golang · golang 489浏览 收藏
  • 如何从 Dep 迁移到 Go 模块
    如何从 Dep 迁移到 Go 模块
    问题内容 我目前正在使用 Dep 并想开始使用 Go 模块。 我该如何迁移? 正确答案 从 Dep 迁移到 Go 模块非常容易。 运行go version并确保您使用的是 Go 版本 1.11 或更高版本。 将您的代码移
    Golang · Go问答   |  3年前  |   golang · golang 489浏览 收藏
  • go语言如何把mysql查询的数据保存到结构体或者map啊?
    go语言如何把mysql查询的数据保存到结构体或者map啊?
    问题内容 我用的github.com/go-sql-driver/mysql这个驱动,我像下面这样写没有报错,但是里面的数据为空或者0 type data struct { id int name string weight int } rows, _ := db.Query("select * from test where id = ?",
    Golang · Go问答   |  3年前  |   MySQL · map · go · golang 489浏览 收藏
  • 一道流传的go面试题
    一道流传的go面试题
    问题内容 func test_gomaxprocs() { runtime.GOMAXPROCS(1) wg := sync.WaitGroup{} wg.Add(20) for i := 0; i < 10; i++ { go func() { fmt.Println("i:", i) defer wg.Done() }() } for i := 0;
    Golang · Go问答   |  3年前  |   go · golang 489浏览 收藏
  • golang return defer的疑惑
    golang return defer的疑惑
    问题内容package main import ( "fmt" ) func main() { fmt.Println(f0()) // 1 fmt.Println(f1()) // 0 } func f0() (result int) { defer func() { result++ }() return 0 } func f1() (result int) { result = 0 //return语
    Golang · Go问答   |  3年前  |   defer · go · return · golang 489浏览 收藏
  • 如何确保一台物理机器运行了web微服务的时候就必须同时运行一个log微服务?这对于弹性扩容的k8s来说是巨大挑战
    如何确保一台物理机器运行了web微服务的时候就必须同时运行一个log微服务?这对于弹性扩容的k8s来说是巨大挑战
    问题内容基于docker的web微服务运行的时候,映射了宿主的log目录到容器的log目录,此时我们开启了一个filebeat微服务,这个微服务的目的就是吧log目录的日志同步到elasticsearch,问题是我们如何确
    Golang · Go问答   |  3年前  |   微服务 · go · Gin · golang 489浏览 收藏
  • 请问在go中如何实现一边监听客户端连接,一边监听用户在终端输入的命令呢?
    请问在go中如何实现一边监听客户端连接,一边监听用户在终端输入的命令呢?
    问题内容go新手,现在利用 go 实现一个在终端聊天的程序,我想请问一下如何实现服务端一边在监听新的连接请求,一边可以和其中的一个客户端聊天呢?我现在写的监听客户端连接的程序会阻
    Golang · Go问答   |  3年前  |   go · golang 489浏览 收藏
  • Go http.Client 重试 POST 时 Body 变空:GetBody 与请求体复用的正确姿势
    Go http.Client 重试 POST 时 Body 变空:GetBody 与请求体复用的正确姿势
    Go 的 POST 请求第一次失败后重试,服务端却读到空 Body,通常不是服务端丢数据,而是请求体只被消费了一次。本文用 bytes.Reader、GetBody 和两次请求日志拆开这个问题,给出可验证的重试写法与边界。
    Golang · Go问答   |  2星期前  |   HTTP客户端 · Go问答 · 接口调试 · 请求体 · 重试 · Go 重试 post 请求体 http.Client GetBody 488浏览 收藏
  • Go 语言为什么适合后端高并发系统
    Go 语言为什么适合后端高并发系统
    Go 是构建高并发后端系统的理想语言。核心结论原生支持高并发调度模型简单高效工程落地成本低详细分析Go 通过 goroutine 和调度器,降低了并发编程复杂度。相比传统线程模型,更容易写出稳定服务。常见问题Go 并发适合什么业务?高 I/O、API 服务、网关、微服务。
    Golang · Go问答   |  5个月前  |   Go并发 Go语言优势 高并发后端 488浏览 收藏
  • 在 Echo/Go 上实现特定路线超时的最佳方法
    在 Echo/Go 上实现特定路线超时的最佳方法
    我想知道为echo库上的特定路线设置超时的最佳方法。我用context.withtimeout实现了超时,但使用了几个函数来封装上下文,我认为这是错误的。ctx,cancel:=context.WithTimeout(ctx,30*time.Second)是否有任何中间件或更好的方法来实现这一点?
    Golang · Go问答   |  2年前  |   488浏览 收藏
  • 在 GO 中使用地图作为地图键的替代方法
    在 GO 中使用地图作为地图键的替代方法
    我想用时间戳标记我的地图,将会有各种地图-动态生成。键将重复,因此如果出现相同的地图,我想更新其值我从外部来源获取地图,并希望在读取地图时进行注册我经常想迭代地图并找到那些有一段时间没有更新的地图a=map[string]string{"a":1,"b":2}b=map[map[string]string]time.Time{}b[a]=1我知道它不受支持,但我想知道有哪些方法可以做到这一点?首先想到的是:将map序列化成字符串,并用它作为key,,?
    Golang · Go问答   |  2年前  |   488浏览 收藏
  • kubernetes 中 .Items 的返回值
    kubernetes 中 .Items 的返回值
    打印e给出一些数字,返回的项目是什么。如果可能,请附上任何引用funcHomepage(whttp.ResponseWriter,r*http.Request){NamespaceStruct:=NamespaceDetails{}fore,Namespaces:=rangeNamespaceClient.Items{NamespaceStruct.Namespace=append(NamespaceStruct.Namespac
    Golang · Go问答   |  2年前  |   488浏览 收藏
  • 将 Docker 容器日志获取到 Elasticsearch 的最佳方式是什么?
    将 Docker 容器日志获取到 Elasticsearch 的最佳方式是什么?
    我有一个在容器中运行的go应用程序,它执行大量日志记录:log.Println("Somethinghappened!")由于我可以ssh到它运行的服务器,所以我可以执行dockerlogs-f[id]来查看stderr输出,这一切都很好。但现在我希望日志进入elasticsearch。最好的方法是什么?我见过很多复杂的方法。一种方法是使用gelf日志记录格式和logstash,但我能找到的唯一gogelf格式化程序非常旧。或者记录到文件并使用file
    Golang · Go问答   |  2年前  |   488浏览 收藏
  • 尝试检查路径时出现错误
    尝试检查路径时出现错误
    我正在尝试检查我的golang应用程序中的windows目录。这是我的代码funccreateWalletDirectory(pathstring)(errerror){_,err=os.Stat(path)ifos.IsNotExist(err){returnerr}path=filepath.FromSlash(path)path=path+string(os.PathSepara
    Golang · Go问答   |  2年前  |   488浏览 收藏
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
  • Golang深入理解GPM模型
    Golang深入理解GPM模型
    Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
    474次学习
查看更多
AI推荐
  • ljg-skills -
    ljg-skills
    ljg-skills 是李继刚开源的 AI 技能与提示词集合,面向大模型使用者整理了一批可复用的 prompt、角色设定和任务技能模板,适合用于学习提示词设计、搭建个人 AI 工作流和沉淀团队常用智能体能力。
    4781次使用
  • MELO音乐 - AI 音乐生成平台,支持多模态创作能力
    MELO音乐
    MELO音乐是一站式AI视频与音乐制作助手,对标suno, udio的高品质体验。提供伴奏生成、原创写词、无损导出、哼唱识曲、混音变声等全套音频与短视频编辑工具。无论是流行Kpop、电音说唱、民谣古风、摇滚儿歌还是商用轻音乐,MELO为你免费谱曲,轻松做同款!
    4371次使用
  • UniScribe - AI 免费在线音视频转文字平台
    UniScribe
    UniScribe 是一款 AI 音视频转文字与内容整理工具,支持上传音频、视频文件或粘贴 YouTube 链接,自动生成转写文本、摘要、思维导图和关键问题,并支持多格式导出,适合会议记录、课程学习、访谈整理和内容创作复盘。
    4320次使用
  • 剧云 - 免费 AI 智能中文剧本创作平台
    剧云
    剧云是专业中文剧本创作平台,安全稳定运行十余年,集成AI编剧、剧本医生审核、人物小传、剧情关系图、大纲编写、多人协作、Word导入导出、版权管控功能,数据安全防护,轻松高效创作剧本。
    4559次使用
  • 万象有声 - AI 一站式有声内容创作平台
    万象有声
    万象有声,一个专为有声创作者打造的新一代智能有声内容创作平台。平台提供专业的智能拆章、智能画本编辑、AI配音、AI生成音效、后期制作、智能对轨、智能审听等有声创作全流程工具,可以帮助创作者高效、低成本创作出引人入胜的有声作品。立即体验,让有声书制作更简单!
    4501次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码