登录
首页 >  Golang >  Go问答

创建方法/函数的编码样式的实现,类似于 http.HandleFunc()

来源:stackoverflow

时间:2024-02-19 08:18:23 380浏览 收藏

怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《创建方法/函数的编码样式的实现,类似于 http.HandleFunc()》,涉及到,有需要的可以收藏一下

问题内容

有一个已回答的问题将帮助您理解我到底想说什么。

传递给http.handlefunc的函数如何访问http.responsewriter和http.request?

有许多内置的 go 函数,函数参数都是以这种方式分配的。我想在日常编码生活中使用这种编码风格。

我想编写一个类似的函数/方法,它将从 http.handlefuncwr 等地方获取其参数值。

func (s SchoolStruct) GetSchoolDetails(name string){
// here the parameter "name" should get assigned exactly like http.HandleFunc()'s "w" and "r".
}

正确答案


http 的作用是注册一个回调并在时机到来时使用它。您不必传递它所需要的参数,因为服务器实现为这些参数提供了正确的状态。如果您想复制此方法,首先您必须询问:

是否有某种通用抽象来计算这些参数?我写的函数只是对某些东西做出反应吗?这个功能有副作用吗?它是否将值返回给系统?

当您修改现有系统、使用独立单元扩展其行为时,这种方法非常好。可以说,集成到强大的 API 中。

你可能是对的,这是一种做事风格,但你不能在所有事情上都使用这种风格。它太具体并且擅长某些任务组。

正如 @mkopriva 指出的,声明你的逻辑应该满足的规则和要求,是在 Go 中执行这种风格的已知方法。您必须意识到,封装在函数指针或接口后面的逻辑必须由您间接调用的其他代码传递和控制。

当系统的所有组件都在您的控制之下并且系统只有一个逻辑要运行时,我无法想象要走这么长的路。

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>