1、golang中反射最常見的使用場景是做對象的序列化(serialization,有時候也叫Marshal & Unmarshal) 例如,Go語言標准庫的encoding/json、encoding/xml、encoding/gob、encoding/binary等包就大量依賴於反射功能來實現。
2、但是有時你希望在運行時使用變量的在編寫程序時還不存在的信息。比如你正在嘗試將文件或網絡請求中的數據映射到變量中。或者你想構建一個適用於不同類型的工具。在這種情況下,你需要使用反射。反射使您能夠在運行時檢查類型。它還允許您在運行時檢查,修改和創建變量,函數和結構體。