this post was submitted on 13 Jun 2024
23 points (67.2% liked)

Programming

17655 readers
194 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
 

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

you are viewing a single comment's thread
view the rest of the comments
[–] Solemarc 4 points 6 months ago

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