2016-11-06 107 views

回答

2

如果你想創建一個reflect.Type一個新的價值,你可以用reflect.New做到這一點:

thetype := reflect.TypeOf(hey) 
BB:= reflect.New(thetype) 

這將返回一個reflect.Value
然後可以例如使用.Interface()並輸入斷言以恢復原始類型。上的Go操場

實施例:https://play.golang.org/p/rL-Hm0IUpd

+1

技術上那些不是相同類型:https://play.golang.org/p/9Xk1Mdrg_V(儘管原來的問題是使相同的值Vs指針太) – JimB

+1

如果他想要一個值而不是指針,他可以使用'reflect.Zero'。然而,因爲他的源代碼使用'new',我想他想要一個指針。 – Matthias247

+0

@ Matthias247非常感謝你! – CESCO

相關問題