go - 有什么方法可以用 Go 语言进行面向方面的编程吗
问题描述
我正在尝试在 go 程序中使用面向方面的编程,例如,在服务中记录信息,而不会侵入我的功能代码,但我发现没有办法去做。
解决方案
Go 通常倾向于设计和代码的“魔力”较低,更喜欢明确性。中间件是一种常见的设计模式,它提供了很多人们使用 AOP 所做的事情,就像您提到的简单示例一样 - 当您的服务器代码设置正确时,您可以注册将自动记录事物的中间件等。有一些代码示例对于Go Web Examples 站点上的中间件,谷歌搜索会发现更多。本教程讨论日志中间件等。
推荐阅读
- reactjs - 从 TimeStamp 显示分钟(React、TimeStamp、Firestore)
- python - 如何在python中的不同分隔符之间拆分字符串
- python - 如何在 python 中复制状态机类?
- c# - 已添加具有相同密钥的项目。键:[0,性别]
- node.js - 使用 npx 的 GitHub Action 失败并显示消息 /usr/bin/env: 'node': No such file or directory
- javascript - 我在哪里保存节点js中用户上传的图像
- xml - xslt 中的动态谓词
- java - 是否可以在服务器端处理 graphQL 中的断开连接?
- c - 如何以更简洁的方式处理 C 命令行参数标志?
- python - Python 打印交替