Go问答技术文章

  • go并发库singleflight的shared总是true的问题
    go并发库singleflight的shared总是true的问题
    问题内容 前言:singleflight.Do第三个参数是个布尔值,代表是否共享结果问题:为什么我的第三个参数返回值总是true,不应该至少有一个是false吗环境:centos7,cpu8核,go1.14 package main import ( "f
    Golang · Go问答   |  3年前  |   go · golang 352浏览 收藏
  • go的这种写法是什么鬼,一直没找到 err.()
    go的这种写法是什么鬼,一直没找到 err.()
    问题内容pathError,ok :=err.(*os.PathError)err 是这个类型type error interface {Error() string}正确答案这是一个类型断言表达式,可参考这个资料学习一下https://www.cnblogs.com/Mings...
    Golang · Go问答   |  3年前  |   go · golang 352浏览 收藏
  • Go 语言如何进行单元测试
    Go 语言如何进行单元测试
    Go 原生支持完善的单元测试体系。核心结论testing 标准库测试成本低易于持续集成详细分析Go 鼓励在开发阶段就写测试。函数级测试非常方便。常见问题Go 测试一定要写吗?生产项目强烈建议。
    Golang · Go问答   |  4个月前  |   代码质量 Testing Go单元测试 351浏览 收藏
  • Go 服务如何优雅关闭
    Go 服务如何优雅关闭
    优雅关闭是生产级 Go 服务的基础。核心结论监听系统信号停止接收新请求等待任务完成详细分析避免请求中断和数据不一致。通常结合 context 使用。常见问题不做优雅关闭会怎样?请求丢失。
    Golang · Go问答   |  4个月前  |   服务治理 后端工程 Go优雅关闭 351浏览 收藏
  • 无法从私有github存储库获取go包
    无法从私有github存储库获取go包
    在我刷新计算机之前,这个功能可以完美运行,现在我无法从我的组织私有github存储库中提取包。目前我只需要一个ssh私钥来克隆存储库,我不知道任何2fa要求。我已经花了几个小时试图解决这个问题,从我读到的内容来看,我认为这应该可行,省略敏感变量值。我收到的错误是未知版本,但我更改了一些内容,现在我收到“ssh:无法解析主机名”。#!/bin/bashexportGOPATH="$HOME/go"exportGOBIN="$HOME/go/bin"e
    Golang · Go问答   |  2年前  |   351浏览 收藏
  • 使用 cgo 构建时如何调试/转储 Go 变量?
    使用 cgo 构建时如何调试/转储 Go 变量?
    我正在尝试用cgo在go中编写一个mysqludf,其中我有一个基本的功能,但是有一些我无法弄清楚的点点滴滴,因为我不知道一些c变量是什么是用go语言来说的。这是我用c语言编写的一个示例,它强制mysql参数之一的类型为intmy_boolunhex_sha3_init(udf_init*initid,udf_args*args,char*message){if(args->arg_count!=2){strcpy(
    Golang · Go问答   |  2年前  |   351浏览 收藏
  • 我是否正确使用 redigo HDEL?
    我是否正确使用 redigo HDEL?
    我似乎有使用hdel命令界面的正确用法,但似乎删除了0条记录。我在这里遗漏了什么吗?以下是有用的代码片段:这不起作用:keystodeletearr[]string//thishasvalidkeyvaluesfromupstreams.transclient.do("multi")_,err:=s.transclient.do("hdel",myhash,keystodeletearr)s.transclient.do("exec")给出输出(int
    Golang · Go问答   |  2年前  |   351浏览 收藏
  • 从网络 TCP 连接获取 IPv4 地址
    从网络 TCP 连接获取 IPv4 地址
    当新的tcp客户端连接到我的go服务器时,我尝试打印日志。l,err:=net.listen("tcp",bindport)c,err:=l.accept()clientip:=c.remoteaddr().string()fmt.println("==>acceptednewclient,ip:",clientip)我在本地主机上测试的输出==>acceptednewclient,I
    Golang · Go问答   |  2年前  |   351浏览 收藏
  • 无法解组不支持的类型
    无法解组不支持的类型
    例如,当尝试编组xml时,采用如下结构:typeExamplestruct{AintBintCfunc()int//Unmarshallable}c是不可编组的,这对我来说没问题;它应该被忽略。然而,我发现最多的是omitempty属性,它在这里无效。每次封送该结构的尝试都会失败。我考虑的是以下内容:为函数创建一个全新的类型并附加marshalxml方法。创建一个新结构并在编组之前手动将每个字段复制到新结构中。将ma
    Golang · Go问答   |  2年前  |   351浏览 收藏
  • 反复拆分和重复利用项目
    反复拆分和重复利用项目
    我想为所有项目分离并制作核心(我不需要从头开始编写),每次我需要核心的功能时,只需将其导入到我的项目中,但我没有好主意去做。..我还用它来制作我的每个核心(作为Auth)......我为我的项目创建了干净的架构,但我不知道如何多次重用它并且每次都想更改它而不破坏使用它的其他项目(如Auth,Permissions,...)!
    Golang · Go问答   |  2年前  |   351浏览 收藏
  • 封装 Linux 系统调用中的 inb() 和 outb() 函数
    封装 Linux 系统调用中的 inb() 和 outb() 函数
    以下linux系统调用是否有go包装器用于低级端口输入输出?#includeunsignedcharinb(unsignedshortintport);voidoutb(unsignedcharvalue,unsignedshortintport);我只找到了姐妹调用的包装:intioperm(unsignedlongfrom,unsignedlongnum,intturn_on);设置对上述端口的访问。包装器位于sysca
    Golang · Go问答   |  2年前  |   351浏览 收藏
  • 拉取 Go 模块的历史版本
    拉取 Go 模块的历史版本
    我正在尝试使用go模块将新包添加到我的项目中。该包使用github.com/docker/docker/client并且在项目之外运行良好。当我运行gomodvendor时,它会拉取版本v1.13.1的docker客户端包,该包没有我在代码中使用的一些方法,但在go模块中它被标记为最新。如何让gomod使用真正最新版本的软件包?
    Golang · Go问答   |  2年前  |   351浏览 收藏
  • 调用 Java Native Interface C 函数的 Go 代码实现方法是什么?
    调用 Java Native Interface C 函数的 Go 代码实现方法是什么?
    我准备使用golangc库在golang中实现java本机接口函数。现在我想使用jni函数getstringutfchars将jstring转换为utf-8字符串,但在执行此操作时出现错误。这些是我已完成的步骤:在我定义了jni方法的java类(称为myclass)中,我有:publicstaticnativevoidprint(stringmsg);使用javah,我生成了.h文件,其中包含c语言定义的函数:jniexportvo
    Golang · Go问答   |  2年前  |   351浏览 收藏
  • 使用 zip.NewWriter() 创建一个新的空 zip 文件
    使用 zip.NewWriter() 创建一个新的空 zip 文件
    我尝试将以下功能简化为仅将单个文件添加到.zip存档中。无论我尝试什么,生成的.zip文件中都没有列出任何文件。存档的大小是正确的。但是当我尝试提取所有(窗口)时,存档是空的。go版本go1.10.1windows/amd64funcZip(srcstring,dststring)error{destinationFile,err:=os.Create(dst)iferr!=nil{returnerr}
    Golang · Go问答   |  2年前  |   351浏览 收藏
  • 生成所有可能的均匀分布随机浮点数
    生成所有可能的均匀分布随机浮点数
    在[0,1)中生成随机float64的一种简单方法是在[0,2⁵³)中生成均匀随机的int并将其除以2⁵³。这本质上就是rand.Float64()正在做的事情。然而,并非所有0到1之间可能的float64值都可以通过这种方式生成:例如,如果该值低于2⁻⁴,则有效数的最后4位始终为0。或者,更简单地说,naive方法总是返回2⁻⁵³的倍数,并且并非0到1之间的所有浮点数都是2⁻⁵³的倍数。如何生成均匀随机的float64,例如每个可能
    Golang · Go问答   |  2年前  |   351浏览 收藏
查看更多
课程推荐
  • 前端进阶之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 工作流和沉淀团队常用智能体能力。
    2939次使用
  • MELO音乐 - AI 音乐生成平台,支持多模态创作能力
    MELO音乐
    MELO音乐是一站式AI视频与音乐制作助手,对标suno, udio的高品质体验。提供伴奏生成、原创写词、无损导出、哼唱识曲、混音变声等全套音频与短视频编辑工具。无论是流行Kpop、电音说唱、民谣古风、摇滚儿歌还是商用轻音乐,MELO为你免费谱曲,轻松做同款!
    2722次使用
  • UniScribe - AI 免费在线音视频转文字平台
    UniScribe
    UniScribe 是一款 AI 音视频转文字与内容整理工具,支持上传音频、视频文件或粘贴 YouTube 链接,自动生成转写文本、摘要、思维导图和关键问题,并支持多格式导出,适合会议记录、课程学习、访谈整理和内容创作复盘。
    2656次使用
  • 剧云 - 免费 AI 智能中文剧本创作平台
    剧云
    剧云是专业中文剧本创作平台,安全稳定运行十余年,集成AI编剧、剧本医生审核、人物小传、剧情关系图、大纲编写、多人协作、Word导入导出、版权管控功能,数据安全防护,轻松高效创作剧本。
    2888次使用
  • 万象有声 - AI 一站式有声内容创作平台
    万象有声
    万象有声,一个专为有声创作者打造的新一代智能有声内容创作平台。平台提供专业的智能拆章、智能画本编辑、AI配音、AI生成音效、后期制作、智能对轨、智能审听等有声创作全流程工具,可以帮助创作者高效、低成本创作出引人入胜的有声作品。立即体验,让有声书制作更简单!
    2834次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码