But isn’t that just for safety. Meaning the unmarshall could use it as a pointer via reflection and mutate it (but that is probably not what the caller expects in Go) ?
> On Nov 19, 2018, at 2:04 PM, Ian Denhardt <i...@zenhack.net> wrote: > > From an implementation standpoint they are passed by reference (The > representation is actually a pair (pointer to vtable, pointer to > object), but from a semantic standpoint the difference still matters, > because e.g. if the original value was a struct, it still can't be > mutated. There are use cases for what Volker is asking about in the > standard library, even: > > package json // import "encoding/json" > > func Unmarshal(data []byte, v interface{}) error > Unmarshal parses the JSON-encoded data and stores the result in the value > pointed to by v. If v is nil or not a pointer, Unmarshal returns an > InvalidUnmarshalError. > > ... > > Quoting Robert Engels (2018-11-19 09:57:12) >> Aren't all interface references passed as a pointer? It is a var that >> contains a pointer to the struct and a concrete type of the struct? >> >> On Nov 19, 2018, at 8:45 AM, Volker Dobler >> <[1]dr.volker.dob...@gmail.com> wrote: >> >>> Is there a way to force "SomeFunction" to take pointers only at >> compile time? >> No, sorry. >> V. >> >> -- >> 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 [2]golang-nuts+unsubscr...@googlegroups.com. >> For more options, visit [3]https://groups.google.com/d/optout. >> >> -- >> 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 [4]golang-nuts+unsubscr...@googlegroups.com. >> For more options, visit [5]https://groups.google.com/d/optout. >> >> Verweise >> >> 1. mailto:dr.volker.dob...@gmail.com >> 2. mailto:golang-nuts+unsubscr...@googlegroups.com >> 3. https://groups.google.com/d/optout >> 4. mailto:golang-nuts+unsubscr...@googlegroups.com >> 5. https://groups.google.com/d/optout > > -- > 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. > For more options, visit https://groups.google.com/d/optout. -- 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. For more options, visit https://groups.google.com/d/optout.