在 Go 中,具有可變參數的函數可以接受零個或多個參數。雖然在不提供任何參數的情況下調用此類函數是有效的,但它可能並不總是理想的。
考慮 min() 函數的範例,該函數計算一組輸入的最小值。至少為該函數提供一個參數才能使其正常運行,這一點至關重要。
由於呼叫不帶參數的可變參數函數是允許的由於語言規範的限制,直接使用可變參數函數不可能觸發編譯時錯誤。
但是,解決方法是修改函數同時包含非可變參數和可變參數。這確保呼叫者必須提供至少一個參數:
使用此簽名,呼叫不帶任何參數的min() 函數會導致編譯時錯誤:
如果修改函數簽章不可行,唯一的選擇是在執行時檢查參數是否存在。如果參數數量不足,您可以恐慌或退出應用程式。然而,這種方法不會觸發編譯時錯誤。
以上是Go 的自訂函式庫可以因函數參數不足而強制編譯時錯誤嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!