There are packages already available for this.

github.com/kortschak/utter (for Go syntax-like printing)
github.com/davecgh/spew (for less Go syntax-like printing)



On Mon, 2019-06-03 at 08:54 -0700, 杜沁园 wrote:
> I recently write a program to recursively print all fields and value
> in a 
> struct. Interface() is the most convinence way to get underlying
> value in 
> go.
> But it will panic when field is private.How can I access private
> field? 
> 
> For simple type, I can stil use Int(),Bool(),etc to read private
> field.  
>  But if the field is a interface, I do not know how to access is
> concrete 
> value without use Interface() method.
> 
> 
> For example:
> 
> type Expr interface {
>    eval(v string) bool
> }
> 
> type MyExpr struct {
>    Haha string
> }
> 
> 
> type Web struct {
>    Host    string
>    epr     Expr
> }
> 
> 
> 
> 
> How can I get Web.Epr Value by reflection without use Interface()
> method
> 

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/1559607505.21310.214.camel%40kortschak.io.
For more options, visit https://groups.google.com/d/optout.

Reply via email to