You can write that.
func insert(m map[K]V, k K, v V) map[K]V {
if m == nil {
return map[K]V{k: v}
}
m[k] = v
return m
}
On Tue, 2019-09-24 at 13:10 -0700, Marcin Romaszewicz wrote:
> Could we have an operation like append() for slices?
>
> How
On Tue, Sep 24, 2019 at 10:11 PM Marcin Romaszewicz wrote:
>
> Could we have an operation like append() for slices?
>
> How about:
>
> m := insert(m, "key", "value").
A slice is a value but a map is implemented as a pointer. IOW, the
line of code quoted above updates only the locally visible
Could we have an operation like append() for slices?
How about:
m := insert(m, "key", "value").
It returns m unchanged if it's allocated, otherwise, it allocates. We're
already familiar with this kind of function.
-- Marcin
On Mon, Sep 23, 2019 at 10:58 PM abuchanan via golang-nuts <
Ah, thanks Ian, that's exactly the kind of requirement I was looking for.
(also, you said "without" but you probably meant "while")
Perhaps this is a job for "go vet". And/or, looks like staticcheck.io has a
check I can try: https://staticcheck.io/docs/checks#SA5000
On Monday, September
On Mon, Sep 23, 2019 at 2:40 PM abuchanan via golang-nuts
wrote:
>
> Is there anything written down on why assignment to a nil map causes a panic?
> I'm curious if there were carefully considered tradeoffs while making this
> decision.
>
> Assignment to nil maps has caused most of the