2
我想使用的功能名稱,以解決一些問題,但#function
似乎沒有與@inline(__always)
很好地工作,這是我的代碼:如何在`inline`函數中使用`#函數'符號?
@inline(__always) func log() {
print(#function)
}
func a() { log() } // want 'a()', but got 'log()'
func b() { log() }
func c() { log() }
//...
有人能解釋一下嗎?或者那只是一個愚蠢的想法。
但是直列@inline調試版本中的屬性被忽略(優化關閉時)。你能解釋一下爲什麼我們可以使用你在操場上的代碼或調試版本? –
是的,這就是我最終解決問題的方式,我感到困惑的是,它應該是每個函數的名稱,對吧?因爲我們在這裏有一個 '@inline(__ always)'符號,我誤解了'inline'的概念嗎?對不起我的英語不好,我不是母語... – jianstm
@OlegGordiichuk:OP想要一個日誌功能,打印其調用函數的名稱,這就是它的工作原理。函數是否內聯並不重要。 –