There is a struct User
, and what's the differences between user := User{}
, var user User
and user := new(User)
in GoLang?
Asked
Active
Viewed 78 times
0
-
2The first 2 is basically identical, the third will be a pointer to `User`, thus `*User`, same as `user := &User{}`. – icza Jan 25 '21 at 09:58
1 Answers
3
user := User{}
creates a new user struct with default values and is the same as var user User
. var user User
would be more common to use if no values are set.
user := new(User)
creates a variable with a pointer to User
(type *User
). Identical to user := &User{}
. You see the user := &User{}
notation more often. The new
keyword comes in handy for initializing types like *int
or *string
to be non-nil.

TehSphinX
- 6,536
- 1
- 24
- 34