mirror of
https://github.com/gopl-zh/gopl-zh.github.com.git
synced 2024-12-26 06:46:27 +00:00
ch12: review
This commit is contained in:
parent
aecec291c0
commit
3f094d9f0e
@ -1,6 +1,5 @@
|
|||||||
# 第十二章 反射
|
# 第十二章 反射
|
||||||
|
|
||||||
Go提供了一種機製在運行時更新變量和檢査它們的值, 調用它們的方法, 和它們支持的內在操作, 但是在編譯時併不知道這些變量的類型. 這種機製被稱爲反射. 反射也可以讓我們將類型本身作爲第一類的值類型處理.
|
Go语音提供了一種機製在運行時更新變量和檢査它們的值、調用它們的方法和它們支持的內在操作,但是在編譯時併不知道這些變量的具体類型。這種機製被稱爲反射。反射也可以讓我們將類型本身作爲第一類的值類型處理。
|
||||||
|
|
||||||
在本章, 我們將探討Go語言的反射特性, 看看它可以給語言增加哪些表達力, 以及在兩個至關重要的API是如何用反射機製的: 一個是 fmt 包提供的字符串格式功能, 另一個是類似 encoding/json 和 encoding/xml 提供的針對特定協議的編解碼功能. 對於我們在4.6節中看到過的 text/template 和 html/template 包, 它們的實現也是依賴反射技術的. 然後, 反射是一個複雜的內省技術, 不應該隨意使用, 因此, 盡管上面這些包都是用反射技術實現的, 但是它們自己的API都沒有公開反射相關的接口.
|
|
||||||
|
|
||||||
|
在本章,我們將探討Go語言的反射特性,看看它可以給語言增加哪些表達力,以及在兩個至關重要的API是如何用反射機製的:一個是fmt包提供的字符串格式功能,另一個是類似encoding/json和encoding/xml提供的針對特定協議的編解碼功能。對於我們在4.6節中看到過的text/template和html/template包,它們的實現也是依賴反射技術的。然後,反射是一個複雜的內省技術,不應該隨意使用,因此,盡管上面這些包内部都是用反射技術實現的,但是它們自己的API都沒有公開反射相關的接口。
|
||||||
|
Loading…
Reference in New Issue
Block a user