首页 > 后端开发 > Golang > 正文

golang 中将 func 转换为字符串

王林
发布: 2024-02-10 11:30:19
转载
723 人浏览过

golang 中将 func 转换为字符串

php小编西瓜在本文中将向大家介绍如何在golang中将func转换为字符串。在golang中,将func转换为字符串可能会遇到一些挑战,因为func类型在golang中并不直接支持转换为字符串。然而,我们可以通过使用反射(reflection)的功能,以及一些其他技巧,来实现这个目标。接下来,我们将详细介绍如何在golang中完成这个转换过程,以便让您更好地理解和应用这一技术。让我们一起来看看吧!

问题内容

我在变量中保存了一些函数,我需要将其转换为字符串文字:

testfunc := func(orgid int64) bool {
    return false
}
登录后复制

预期结果字符串文字如下:

resultstr := `func(orgid int64) bool {
    return false
}`
登录后复制

这是我尝试过的:

testfuncstr := reflect.valueof(testfunc).string()
登录后复制

但是这只能让我得到以下文字:

"<func(int64) bool Value>",
登录后复制

解决方法

正如 @BurakSerdar 所说 - Go 不是一种被解释的语言,而是一种被编译的语言,所以你能做的事情相当有限。 reflect 是一个功能强大的包 - 你可以获取函数名称、函数参数数量,甚至调用堆栈(这对于日志记录来说很方便),但是您将永远无法从构建二进制文件中获取函数的源代码。

以上是golang 中将 func 转换为字符串的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:stackoverflow.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!