首頁 > 後端開發 > Golang > golang 中將 func 轉換為字串

golang 中將 func 轉換為字串

王林
發布: 2024-02-10 11:30:19
轉載
778 人瀏覽過

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板