I understand Rust being type safe, but Im seeing syntax that Ive never seen in my life in Go which looks too messy
var test int < bruh what?
:=
func(u User) hi () { … } Where is the return type and why calling this fct doesnt require passing the u parameter but rather u.hi().
map := map[string] int {} < wtf
To do quick and simple explanations:
var test int = 0
assign an int, var = let in rust land
This is basically an inferred assignment e.g.
a := "hello world"
The compiler will know this is a string without me explicitly saying
func (u User) hi() {}
To return to rust land this is a function that implements User. In OOP land we would say that this function belongs to the user class. In Go, just like in rust we don’t say if a function returns void so this function is for User objects and doesn’t return anything:
func (u User) hi(s string) string {}
If it took in a string and returned a string it would look like this.
map[string] int {}
I will give you that this syntax is a bit odd but this is just a hashmap/dictionary where the key is a string and the value is an int