The code in utter is essentially the same (I forked it from go-spew),
but the output can be used in Go code. Depending on what you want, both
are useful.
On Mon, 2019-06-03 at 19:44 -0700, 杜沁园 wrote:
> go-spew is a really good library, I don not need to write it myself,
> Thanks
>
> 在 2019年6月4日星期二 UTC+8上午8:19:55,kortschak写道:
> >
> >
> > Sorry, missed the go- prefix in Dave's package.
> >
> > github.com/davecgh/go-spew
> >
> > On Tue, 2019-06-04 at 09:48 +0930, Dan Kortschak wrote:
> > >
> > > 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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/golang-nuts/1559616362.21310.227.camel%40kortschak.io.
For more options, visit https://groups.google.com/d/optout.