Go问答技术文章

  • Go select 没有 default 时为什么会阻塞
    Go select 没有 default 时为什么会阻塞
    Go select 没有 default 并不是异常:当所有通信 case 都暂时不可执行时,当前 goroutine 会等待;本文区分缓冲、关闭和 nil channel,并给出 default、超时与取消的选择方法。
    Golang · Go问答   |  1个月前  |   427浏览 收藏
  • Go context.WithCancel 为什么还会泄漏:defer cancel 与请求生命周期
    Go context.WithCancel 为什么还会泄漏:defer cancel 与请求生命周期
    调用 context.WithCancel 并不自动消除 goroutine 泄漏。关键在于 cancel 的调用位置、子协程是否监听 Done,以及请求提前返回时能否及时结束。本文从一个持续增长的接口现场拆出根因、修复和复查方法。
    Golang · Go问答   |  1个月前  |   性能优化 · Context · go并发 · 故障排查 · Go goroutine泄漏 context.WithCancel 请求生命周期 defer cancel 427浏览 收藏
  • Go channel 关闭后还能读吗:读写规则、退出流程和常见坑
    Go channel 关闭后还能读吗:读写规则、退出流程和常见坑
    Go channel 关闭后仍然可以把缓冲区里的值读完,再继续读取会得到元素类型的零值和 ok=false;但关闭后的 channel 不能再写入,也不能重复关闭。真正安全的关键是让发送方统一负责关闭,并让接收方用 range 或 ok 值退出。
    Golang · Go问答   |  3个月前  |   并发 · channel · range · Go问答 · 并发退出 Channel关闭 Go问答 close channel range退出 发送方关闭 427浏览 收藏
  • 从头开始的 Golang WebServer:我应该如何实现速率限制?
    从头开始的 Golang WebServer:我应该如何实现速率限制?
    我正在使用golang开发一个网络服务器,以将我所学到的有关该语言及其并发模型的知识付诸实践。我有一个简单的基于原始套接字的网络服务器,它使用示例html响应来回答基本路径。在内部,web服务器侦听端口8000,并循环接受传入连接,将它们转发到最大容量为1000个待处理连接的缓冲通道。同时,由20个工作线程组成的池处理缓冲通道中的请求并写回响应。现在,最初我的网络服务器主要服务方法是这样的:func(hhttpserver)serve(host,pathstring)
    Golang · Go问答   |  2年前  |   427浏览 收藏
  • 执行不接受参数的方法
    执行不接受参数的方法
    给定一个结构体的任意实例,我希望能够执行其所有不接受参数的公共方法。例如,在下面的代码中,我希望能够在不知道x{}.foo()和x{}.bar()存在的情况下执行它们。packagemainimport("fmt""reflect")typeXstruct{Ystring}func(xX)Foo()string{returnx.Y}func(xX)Bar(){}func(xX)Baz(
    Golang · Go问答   |  2年前  |   427浏览 收藏
  • 复合文字使用无键字段
    复合文字使用无键字段
    我正在使用golang的新官方mongodb驱动程序。我创建了一个复杂的查询,将数据插入mongodb,然后根据元素值对其进行排序。我正在使用一个过滤器,其中我使用以下命令创建了bson类型:-filter:=bson.D{{"autorefid","100"}}但它显示一条警告:primitive.e复合文字使用无键字段这些警告在我的代码中造成了混乱。
    Golang · Go问答   |  2年前  |   427浏览 收藏
  • 如何使用json传递opentracing数据
    如何使用json传递opentracing数据
    我的api网关启动一个跟踪器和一个用于验证电子邮件的范围。然后将其传递给user-service进行验证。我想将此span详细信息作为json对象传递给user-service并启动另一个span作为tracer.start_span('验证电子邮件',child_of=api_gateway_span)为此,我使用了以下结构:typecheckemailstruct{gatewaytracerspanopentracing.spancontex
    Golang · Go问答   |  2年前  |   427浏览 收藏
  • Golang 中的通道和互斥体有什么区别?
    Golang 中的通道和互斥体有什么区别?
    我听说当你的程序是高并发的时候,channel比sycn.mutex.lock()更好。但为什么渠道效率更高呢?在我看来,要实现一个安全的缓冲池(我认为channel可以被认为是一个缓冲池),你必须使用锁。如果channel效率更高,为什么还有sycn.mutex?因为我可以编写下面的代码来模拟sync.mutex。typesemestruct{lockchanintlockedbool}func(l*seme)Lock(){//stat
    Golang · Go问答   |  2年前  |   427浏览 收藏
  • golang填充字符串数组模型
    golang填充字符串数组模型
    我无法找到一种方法来填充下面简单模型的数组字符串。我所尝试的也是给予。如何填充数组字符串“alternate”?funcmain(){typePersonstruct{FirstNamestring`json:"FirstName,omitempty"`LastNamestring`json:"Lastname,omitempty"`Agestring`json:"Age,omitempty"
    Golang · Go问答   |  2年前  |   427浏览 收藏
  • golang 中的双重检查锁定 - 为什么需要 mutex.RLock()?
    golang 中的双重检查锁定 - 为什么需要 mutex.RLock()?
    我有来自该网站的一段代码,它对对象的初始化进行了双重检查锁定。funcchecksyncproducer(){mutex.rlock()ifsyncproducer==nil{mutex.runlock()mutex.lock()defermutex.unlock()ifsyncproducer==nil{syncproducer=createsynckaf
    Golang · Go问答   |  2年前  |   427浏览 收藏
  • Artifactory jfrog cli 无法验证
    Artifactory jfrog cli 无法验证
    尝试使用jfrogcli与神器服务器集成时,出现此错误jfrogrtconfigexample-company--url=$artifactory_url--user=$artifactory_user--password=$artifactory_pass[info]encryptingpassword...[error]gethttps://artifactory.example.com/api/security/encryptedpassword:x509:ce
    Golang · Go问答   |  2年前  |   427浏览 收藏
  • 将多个月份字符串替换为月份整数
    将多个月份字符串替换为月份整数
    我正在使用如下字符串:"1月5日,2月,12月6日=900"我希望将月份字符串替换为其各自的月份int值。所以上面的内容等同于:"1-5,2,612=900"我知道使用不区分大小写的正则表达式可能是一种可行的方法,但是我只看到了如何一次将其应用到一个月的示例,这似乎效率很低,例如:re:=regexp.MustCompile(`(?i)jan`)fmt.Println(re.ReplaceAllString("JAN-5,Feb,6dec=900","1"))除了对字符串应用
    Golang · Go问答   |  2年前  |   427浏览 收藏
  • Go 字符串格式仅填充部分参数
    Go 字符串格式仅填充部分参数
    我有一个用于调用外部api的标准字符串格式。例如https://%s?client=%s&password=%s。这是请求的第一个%s端点,具体取决于业务逻辑。而我总是可以提前确定客户端和密码。funcgetApiUrl(clientIdint)string{urlFormat:="https://%s?client=%s&password=%s"clientname,clientpass:=getByClientId(clientId)retu
    Golang · Go问答   |  2年前  |   427浏览 收藏
  • 为什么要在数据库中使用引号来命名列?
    为什么要在数据库中使用引号来命名列?
    在macos上运行时使用github.com/lib/pq模块处理postgres数据库连接和命令。json文件(post.json):{"title":"thistitle","desc":"thisdesc","content":"thiscontent","pagenum":123}golangrestapi函数:func(server*server)createnewarticle(whttp.responsewrit
    Golang · Go问答   |  2年前  |   427浏览 收藏
  • fmt包中各种打印函数的区别在哪里?
    fmt包中各种打印函数的区别在哪里?
    我已经阅读了Gofmt包的文档。尽管如此,我还是不明白Print、Fprint、Sprint、Printf、Fprintf和Sprintf之间的区别。有人可以用通俗的语言向我解释一下吗?
    Golang · Go问答   |  2年前  |   427浏览 收藏
查看更多
课程推荐
  • 前端进阶之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推荐
  • PubMedQA数据集详解:生物医学问答基准、功能与应用指南
    PubMedQA
    深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
    587次使用
  • H2O EvalGPT:开源LLM大模型评估与排行榜工具
    H2O EvalGPT
    H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
    626次使用
  • LMArena是什么?伯克利AI模型评估平台使用指南与功能解析
    LMArena
    LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
    660次使用
  • 斯坦福HELM:大语言模型Holistic Evaluation整体评估框架详解
    HELM
    深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
    629次使用
  • MMBench详解:多模态大模型基准测试、功能特点与使用指南
    MMBench
    MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
    444次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议 和 隐私政策
返回登录
  • 重置密码