I can't reproduce this in go playground (yet), but under what circumstances 
would/could/should:

nss := []namespace.Namespace{
append(ns, g2message.NamespaceWin...),
append(ns, g2message.NamespaceSpend...),
}

Act differently than:

ns1 := append(ns, g2message.NamespaceWin...)
ns2 := append(ns, g2message.NamespaceSpend...)

nss := []namespace.Namespace{
ns1,
ns2,
}

ns is a parameter on the function (actually, it's a parameter on the 
function that generated the function that is being called, and ns is a 
closure), and is currently: 

namespace.New("localhost")

The definitions in the "namespace" and "g2message" packages are:

type Namespace []string

var NamespaceWin namespace.New("win") // New is making Namespace{"win"}
var NamespaceSpend namespace.New("spend")

I would think under no circumstances; however, that's not my experience. 

Result of fmt.Println(nss) on the first example (expected):

[[localhost win] [localhost spend]]

Result of fmt.Println(nss) on the second example:

[[localhost spend] [localhost spend]]


It's not running in a loop, separate goroutine, or anything. Those lines 
are all that change between the two results. I'm at a loss. I will keep 
trying to reproduce in go playground.


Thanks,


Evan

-- 
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.

Reply via email to