Go问答技术文章

  • 如何测试包含 log.Fatal() 的 Go 函数
    如何测试包含 log.Fatal() 的 Go 函数
    问题内容 说,我有以下代码打印一些日志消息。我将如何测试是否记录了正确的消息?由于log.Fatal调用os.Exit(1)测试失败。 package main import ( "log" ) func hello() { log.Print("Hello!
    Golang · Go问答   |  3年前  |   golang · golang 472浏览 收藏
  • Go 普通字符串打印问题,println 和 string() 包裹一下有什么区别?
    Go 普通字符串打印问题,println 和 string() 包裹一下有什么区别?
    问题内容为什么一个简单的字符串我使用内置函数 Println 可以打印出来,但使用 string 包了一下就打不出来了正确答案看前面的 string('a') // "a" string(-1) // "\ufffd" == &
    Golang · Go问答   |  3年前  |   mysql 472浏览 收藏
  • 什么时候应该在 Go 中使用 new?
    什么时候应该在 Go 中使用 new?
    问题内容 什么时候应该在 Go 中使用 new? 正确答案 在Go中,new是用于动态分配内存的内置函数。它返回一个指向新分配的零值对象的指针。 在大多数情况下,使用字面量或结构体初始
    Golang · Go问答   |  3年前  |   new · golang · golang 472浏览 收藏
  • effective Go 中的客户端请求处理程序示例会导致死锁吗?
    effective Go 中的客户端请求处理程序示例会导致死锁吗?
    effectivego指南有以下关于处理客户端请求的示例:funchandle(queuechan*request){forr:=rangequeue{process(r)}}funcserve(clientrequestschan*request,quitchanbool){//starthandlersfori:=0;i
    Golang · Go问答   |  2年前  |   471浏览 收藏
  • go - 简单的工作池
    go - 简单的工作池
    作为go和一般编程的初学者,我一直在使用gopacket库编写go中的端口扫描器,并且大部分代码已完成,但我遇到了生成太多goroutine并获取的问题'readip40.0.0.0:i/otimeout'我已经做了一些研究,似乎我需要实现一个工作池我一直在尝试实现这个示例'https://gobyexample.com/worker-pools'因为我仍在学习goroutine和通道,所以我已经研究了几天了,似乎无法弄清楚如何在我的程序中正确实现上述示例,你们能给我一些指
    Golang · Go问答   |  2年前  |   471浏览 收藏
  • Golang无法在MongoDB中创建文档
    Golang无法在MongoDB中创建文档
    我正在尝试将文档插入mongodb,但尽管成功连接到mongo,但我仍然收到以下错误:http:panicserving172.27.0.8:40176:runtimeerror:invalidmemoryaddressornilpointerdereference我正在初始化数据库连接的main.go看起来像这样funcmain(){//connecttomongomongoclient,err:=connecttomon
    Golang · Go问答   |  2年前  |   471浏览 收藏
  • 相当于 golang 中的 gpg --sign 吗?
    相当于 golang 中的 gpg --sign 吗?
    我目前有一个perl脚本,可以对电子邮件地址执行pgp签名以生成混淆的令牌。perl脚本使用命令行实用程序gpg版本2.2.8(在macos上)。我想将此功能转换为go。perl中的相关行:my$token=`printf$emailaddress|gpg--sign-umyprivatekeyname|base64`;我在go中的尝试:import("golang.org/x/crypto/openpgp""lo
    Golang · Go问答   |  2年前  |   471浏览 收藏
  • 使用 Golang 创建注册表项
    使用 Golang 创建注册表项
    我目前正在尝试使用golang添加windows注册表项,而不是使用以下powershell查询:add-mppreference-exclusionpath“c:\temp”。该注册表项本应添加到windowsdefender排除项中,但我收到两个错误之一;系统找不到指定的文件。句柄无效或访问被拒绝。我目前尝试了两种不同的方法,但都没有成功。注册表项位置为computer\hkey_local_machine\software\microsoft\windowsdefe
    Golang · Go问答   |  2年前  |   471浏览 收藏
  • 如何在测试中检查该方法是否返回具有指定持续时间的 time.ticker?
    如何在测试中检查该方法是否返回具有指定持续时间的 time.ticker?
    如何测试此方法中的正确返回值?funccreateticker(durtime.duration)*time.ticker{returntime.newticker(dur*time.second)}functestcreateticker(t*testing.t){typeargsstruct{durtime.duration}var(ticker=time.newticker(12)
    Golang · Go问答   |  2年前  |   471浏览 收藏
  • 如何等待第一个完成的 goroutine
    如何等待第一个完成的 goroutine
    对于同一任务,我有两种算法,一种最适合某些情况,另一种最适合其他情况。所以我想在处理任务时同时启动两个goroutine,并且只使用第一个完成的goroutine返回的结果。另外,在结果中,我需要知道它是由哪种算法返回的。如果我认为第一个返回的结果不正确,我想等待第二个结果。我读了https://golang.org/pkg/sync/的文档,似乎只能等待所有goroutine完成。如何在golang中实现这个想法?
    Golang · Go问答   |  2年前  |   471浏览 收藏
  • golang正则表达式查找字符串但仅提取其中的子字符串
    golang正则表达式查找字符串但仅提取其中的子字符串
    我有两个像这样的字符串mystr="xyz/10021abc/f123"mystr2="abc/10021abd/c222"我想提取10021abc和10021abd。我想出了r=regexp.mustcompile(`(?:xyz\/|abc\/)(.+)\/`)但是当我想用这个提取匹配时:fmt.Println(r.FindString(mystr))它返回整个字符串。我应该如何更改我的正则表达式?
    Golang · Go问答   |  2年前  |   471浏览 收藏
  • 如果请求在 http.Server 中超时,为什么在 Firefox 中会无限期地重复?
    如果请求在 http.Server 中超时,为什么在 Firefox 中会无限期地重复?
    我正在golang中设置一个带有超时的简单服务器。当运行的处理程序花费的时间超过超时时间时,如果我使用firefox请求,该请求将无限期地重复。但是,如果我使用postman或curl,则reuqest不会重复。我想防止浏览器中出现重复循环。我尝试手动关闭请求正文或检查上下文是否被取消,但是这些方法都不起作用。packagemainimport("fmt""net/http""time")funcmain(){http.Ha
    Golang · Go问答   |  2年前  |   471浏览 收藏
  • go pprof 中的“持续时间:30.18s,总样本 = 26.26s(87.00%)”是什么意思?
    go pprof 中的“持续时间:30.18s,总样本 = 26.26s(87.00%)”是什么意思?
    据我了解,pprof每10毫秒停止一次并采样go程序。所以一个30s的程序应该有3000个样本,但是26.26s的含义是什么?如何将样本计数显示为持续时间?更重要的是,我什至得到过这样的输出,表明采样时间比墙上时间长,怎么会是这样的结果?持续时间:5.13s,总样本=5.57s(108.58%)
    Golang · Go问答   |  2年前  |   471浏览 收藏
  • gRPC 方法可以返回包含字符串或 null 字段的消息吗?
    gRPC 方法可以返回包含字符串或 null 字段的消息吗?
    我正在设计一个用go编写的grpc服务。位于grpc服务前面的是envoy,它将传入的http请求转换为grpc,并将grpc响应转换为json。此应用程序的要求是有一个返回以下json对象的端点:{my_id:"aaa"}我可以在go中非常简单地模拟这个响应,如下所示://amyresponseobject.messagemyresponse{//contentsisalistofcontents.strin
    Golang · Go问答   |  2年前  |   471浏览 收藏
  • 获取包源的完整路径通过导入包路径
    获取包源的完整路径通过导入包路径
    目前我有一个像str:="github.com/pkg/errors"这样的参数。我需要包的完整路径。目前我实现这一目标的方法是使用build.Default.GOPATH+"/src/"+str。是否有一种原生的非hacky方法来解析导入的完整路径(可能位于vendor文件夹等中)。
    Golang · Go问答   |  2年前  |   471浏览 收藏
查看更多
课程推荐
  • 前端进阶之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 工作流和沉淀团队常用智能体能力。
    4506次使用
  • MELO音乐 - AI 音乐生成平台,支持多模态创作能力
    MELO音乐
    MELO音乐是一站式AI视频与音乐制作助手,对标suno, udio的高品质体验。提供伴奏生成、原创写词、无损导出、哼唱识曲、混音变声等全套音频与短视频编辑工具。无论是流行Kpop、电音说唱、民谣古风、摇滚儿歌还是商用轻音乐,MELO为你免费谱曲,轻松做同款!
    4179次使用
  • UniScribe - AI 免费在线音视频转文字平台
    UniScribe
    UniScribe 是一款 AI 音视频转文字与内容整理工具,支持上传音频、视频文件或粘贴 YouTube 链接,自动生成转写文本、摘要、思维导图和关键问题,并支持多格式导出,适合会议记录、课程学习、访谈整理和内容创作复盘。
    4147次使用
  • 剧云 - 免费 AI 智能中文剧本创作平台
    剧云
    剧云是专业中文剧本创作平台,安全稳定运行十余年,集成AI编剧、剧本医生审核、人物小传、剧情关系图、大纲编写、多人协作、Word导入导出、版权管控功能,数据安全防护,轻松高效创作剧本。
    4374次使用
  • 万象有声 - AI 一站式有声内容创作平台
    万象有声
    万象有声,一个专为有声创作者打造的新一代智能有声内容创作平台。平台提供专业的智能拆章、智能画本编辑、AI配音、AI生成音效、后期制作、智能对轨、智能审听等有声创作全流程工具,可以帮助创作者高效、低成本创作出引人入胜的有声作品。立即体验,让有声书制作更简单!
    4316次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码