Go问答技术文章

  • 外部函数中的接收者结构
    外部函数中的接收者结构
    我实在是看不懂这段代码我想我理解接收器是如何工作的,但是当/foo被请求时,为什么该结构成为servehttp的接收器而从未被调用?如果这就是http的工作方式,这是接收器的典型使用方式吗?maingoimport"net/http"typefooHandlerstruct{Messagesstring}func(f*fooHandler)ServerHTTP(whttp.ResponseWriter,r*http.Request){
    Golang · Go问答   |  2年前  |   386浏览 收藏
  • 执行可重启和线程安全的 AfterFunc() 调用的最佳方式
    执行可重启和线程安全的 AfterFunc() 调用的最佳方式
    如何以线程安全的方式进行延迟的、可重新启动的函数调用?这是一个非常常见的用例,例如,如果您想对某些更改做出反应,但频率不超过x毫秒一次。我能想到的代码是:vart*time.TimerfuncrestartableDelayed(){ift!=nil{t.Stop()}t=time.AfterFunc(time.Second,func(){t=nil//...//
    Golang · Go问答   |  2年前  |   386浏览 收藏
  • 为何Go语言中没有指定结构体比较时的填充内容?
    为何Go语言中没有指定结构体比较时的填充内容?
    来自DaveCheney关于Go编译器生成的结构比较代码的文章(https://dave.cheney.net/2020/05/09/ensmallening-go-binaries-by-prohibiting-comparisons):填充的存在是为了确保正确的字段对齐,虽然它确实占用了内存空间,但这些填充字节的内容是未知的。您可能会认为,对于Go,填充字节始终为零,但事实证明并非如此-填充字节的内容根本没有定义。因为它们没有定义为始终为某个值,所以进行按位比较可能会返回fal
    Golang · Go问答   |  2年前  |   386浏览 收藏
  • 为什么在 Go 中需要支持任意精度常量?
    为什么在 Go 中需要支持任意精度常量?
    go具有任意大小和精度的无类型精确数字常量。该规范要求所有编译器支持至少256位的整数,以及至少272位的浮点数(尾数256位,指数16位)。因此编译器需要忠实、准确地表示这样的表达式:const(PI=3.1415926535897932384626433832795028841971Prime256=8402815488844425287188147917627170786837017563684815644978150864181119
    Golang · Go问答   |  2年前  |   386浏览 收藏
  • 在Unix套接字中访问GRPC服务器的底层连接
    在Unix套接字中访问GRPC服务器的底层连接
    想知道是否有一种方法可以访问底层net.conn以使用so_peercred检索用户凭据并在服务器处理请求之前验证请求。来自https://blog.jbowen.dev/2019/09/using-so_peercred-in-go/,需要net.unixconn返回用于验证的unix.ucred。因此,如果服务器请求处理程序有某种方法可以访问net.conn,这应该很容易我查看了unaryserverinterceptor,但unaryserverinterceptor中提供的任何
    Golang · Go问答   |  2年前  |   386浏览 收藏
  • 如何设置服务器端应用的默认值?
    如何设置服务器端应用的默认值?
    上下文:我正在实现(我的第一个)terraform插件/提供程序作为现有公共api的包装器。api中的创建操作之一指定一个整数字段,该字段采用正值或-1作为默认值。如果您在创建api调用中指定-1,该值将被服务器端的某些默认值替换(例如field=1000),并从现在开始存储为1000。如果我将其呈现给我的terraform插件(terraformapply):resource"something""mysomething"{name="so
    Golang · Go问答   |  2年前  |   386浏览 收藏
  • 同时使用 strfmon 和 cgo
    同时使用 strfmon 和 cgo
    我正在尝试通过cgo使用c函数strfmon。有效的示例c代码是:#include#includeintmain(void){charstr[100];doublemoney=1234.56;strfmon(str,100,"%i",money);printf("%s\n",string);}到目前为止我编写的go代码是:packagemain//#cgoCFLAGS:-g-Wall
    Golang · Go问答   |  2年前  |   386浏览 收藏
  • 我不确定如何创建和传递上下文
    我不确定如何创建和传递上下文
    我有一个http服务器,当它收到请求时,会调用底层grpc服务器。我选择使用接口抽象出grpc调用,以便更轻松地测试http服务器。问题是我不断收到错误:rpc错误:代码=已取消desc=grpc:客户端连接正在关闭或者rpc错误:代码=已取消desc=上下文已取消据我了解,这两个都与传递到grpc调用的上下文有关。我希望上下文在整个http和grpc调用中都处于活动状态。typesettergetterinterface{
    Golang · Go问答   |  2年前  |   386浏览 收藏
  • 连接 PostgreSQL 数据库的方法使用 Gorm
    连接 PostgreSQL 数据库的方法使用 Gorm
    我无法连接到postgresql。vardb*gorm.DBvarerrerrorfuncmain(){router:=mux.NewRouter()varerrerrordb,err=gorm.Open("postgres","host=localhostport=5432user=postgresdbname=dvdrentalpassword=12345")iferr!=nil{panic
    Golang · Go问答   |  2年前  |   386浏览 收藏
  • 如何使用 go mongo-driver 在 MongoDB 中将字节存储为二进制
    如何使用 go mongo-driver 在 MongoDB 中将字节存储为二进制
    我正在使用usinggo.mongodb.org/mongo-driver/mongo并且我正在尝试在mongodb中讲述字节切片。但是,驱动程序将其编组为整数数组。就我而言,我有以下类型:typehash[20]byte我尝试实现valuemarshaler接口,如下所示:func(hhash)marshalbsonvalue()(bsontype.type,[]byte,error){returnbsontype.binary,h[:20
    Golang · Go问答   |  2年前  |   386浏览 收藏
  • 使用值接收器在 http.Client 结构上会影响连接池吗?
    使用值接收器在 http.Client 结构上会影响连接池吗?
    我对指针接收器和值接收器的使用的理解相当薄弱。这是我无法在两者之间做出决定的情况:我最近学会了重新使用已创建的http.client对象,而不是每次创建一个新的http.client,以便从连接池中受益。所以我做了这样的事情:typeMailClientstruct{HTTPClient*http.Client//...bunchofotherstuff}funcnewMailClient(//...argumentsforinitia
    Golang · Go问答   |  2年前  |   386浏览 收藏
  • 使用Golang进行嵌套结构的Mock方法进行单元测试
    使用Golang进行嵌套结构的Mock方法进行单元测试
    我想模拟嵌套结构的方法。我尝试定义一个接口并让mock实现它,但我无法让它工作。这是我要测试的结构:typeouterthingstruct{innerthing*innerthing}func(a*outerthing)dolotsofstuff(){println("iamdoing")u,err:=a.innerthing.dostuff("lotsofstuff")iferr!=nil{p
    Golang · Go问答   |  2年前  |   386浏览 收藏
  • Golang中的MPEGTS命名管道只有一个客户端连接
    Golang中的MPEGTS命名管道只有一个客户端连接
    我目前正在使用golang和c学习linux中的命名管道。我编写了一个读取命名管道的小型服务器程序:mkfifo/tmp/namedpipe.tsffmpeg-iurl-ccopy/tmp/namedpipe.ts和一个web服务器应用程序打开管道,如下所示:packagemainimport("bufio""net/http""fmt""io""log""os")funcmain(){
    Golang · Go问答   |  2年前  |   386浏览 收藏
  • Go 程序运行时与垃圾收集器有关的紧急情况
    Go 程序运行时与垃圾收集器有关的紧急情况
    我从github安装了一个go程序,当我运行它时,出现错误,panic:Somethinginthisprogramimportsgo4.org/unsafe/assume-no-moving-gctodeclarethatitassumesanon-movinggarbagecollector,butyourversionofgo4.org/unsafe/assume-no-moving-gchasn'tbeenupdatedtoassert
    Golang · Go问答   |  2年前  |   386浏览 收藏
  • 使用 main.go 中初始化的变量进行其他打包和测试仍是 Go 中解耦的项目结构的一部分吗?
    使用 main.go 中初始化的变量进行其他打包和测试仍是 Go 中解耦的项目结构的一部分吗?
    我将从python/django切换到go。在django中,我非常喜欢它的模块化应用程序项目结构设计,其中每个应用程序都有单独的业务模型、路由和视图。然后,所有应用程序都将在中心/项目的主路由系统等内进行通信。django项目结构例如:-myproject-myproject-urls.py-views.py...-planner-urls.py-views.py
    Golang · Go问答   |  2年前  |   386浏览 收藏
查看更多
课程推荐
  • 前端进阶之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 工作流和沉淀团队常用智能体能力。
    4425次使用
  • MELO音乐 - AI 音乐生成平台,支持多模态创作能力
    MELO音乐
    MELO音乐是一站式AI视频与音乐制作助手,对标suno, udio的高品质体验。提供伴奏生成、原创写词、无损导出、哼唱识曲、混音变声等全套音频与短视频编辑工具。无论是流行Kpop、电音说唱、民谣古风、摇滚儿歌还是商用轻音乐,MELO为你免费谱曲,轻松做同款!
    4079次使用
  • UniScribe - AI 免费在线音视频转文字平台
    UniScribe
    UniScribe 是一款 AI 音视频转文字与内容整理工具,支持上传音频、视频文件或粘贴 YouTube 链接,自动生成转写文本、摘要、思维导图和关键问题,并支持多格式导出,适合会议记录、课程学习、访谈整理和内容创作复盘。
    4062次使用
  • 剧云 - 免费 AI 智能中文剧本创作平台
    剧云
    剧云是专业中文剧本创作平台,安全稳定运行十余年,集成AI编剧、剧本医生审核、人物小传、剧情关系图、大纲编写、多人协作、Word导入导出、版权管控功能,数据安全防护,轻松高效创作剧本。
    4248次使用
  • 万象有声 - AI 一站式有声内容创作平台
    万象有声
    万象有声,一个专为有声创作者打造的新一代智能有声内容创作平台。平台提供专业的智能拆章、智能画本编辑、AI配音、AI生成音效、后期制作、智能对轨、智能审听等有声创作全流程工具,可以帮助创作者高效、低成本创作出引人入胜的有声作品。立即体验,让有声书制作更简单!
    4223次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码