this post was submitted on 03 Aug 2023
30 points (100.0% liked)

Golang

2218 readers
1 users here now

This is a community dedicated to the go programming language.

Useful Links:

Rules:

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 4 points 1 year ago (2 children)

Calling one function and getting either an empty container or a container full of empty elements is very strange behavior.

[–] hairyballs 5 points 1 year ago

I honestly try and read Go news from time to time, with an open mind, but the amount of terrible footguns is astounding, especially when the language is marketed as "simple" and easy for beginner to grasp. I would pick C# or Java over it anytime.

[–] CodeBlooded 1 points 1 year ago* (last edited 1 year ago) (1 children)

Are you speaking about clear? It’s my understanding that clear doesn’t get you anything. It modifies the object passed to it, sure, but it doesn’t return different types back to the caller.

Edit: I notice this is downvoted- can someone provide feedback if my understanding of clear is incorrect? 🤔

[–] [email protected] 1 points 1 year ago (1 children)

Yeah, talking about clear. And "getting" is meant loosely, in the sense of "the state of the object after calling the function clear". Regardless of whether the object is modified or a copy returned, that's just weird behavior. Why not empty and zero to empty the container or reset objects in the container to their zero values respectively instead?

[–] CodeBlooded 1 points 1 year ago

I see what you're saying. Hmm. I do think that clear will be a nice addition. It does exactly what it says it'll do, "clear" out the object. In that same vein, I think your suggestions would both be solid alternatives.

It sounds like clear is already on track to become a part of the language, but maybe you could be the first to put in a suggestion for a zero to accompany it in future releases?