programming:go
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
programming:go [2023/09/04 19:35] – skipidar | programming:go [2023/11/01 07:31] (current) – ↷ Page moved from camunda:programming:go to programming:go skipidar | ||
---|---|---|---|
Line 205: | Line 205: | ||
+ | == Pointers == | ||
- | == Structs == | + | <sxh go> |
+ | // basic-types/ | ||
+ | package main | ||
+ | |||
+ | import ( | ||
+ | " | ||
+ | " | ||
+ | ) | ||
+ | |||
+ | func main() { | ||
+ | // create a variable of type *T where T is an int | ||
+ | var a *int | ||
+ | |||
+ | // declare and assign `b` variable of type int | ||
+ | valu := 100 | ||
+ | |||
+ | // assign the address of b to a | ||
+ | pointr = &valu | ||
+ | |||
+ | // print out the value of a which is the address of b | ||
+ | fmt.Println(pointr) | ||
+ | // returns: ptr | ||
+ | fmt.Println(" | ||
+ | |||
+ | // print out the value at the address of b | ||
+ | fmt.Println(*pointr) | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | == Structs | ||
Structure to hold data in Go Lang | Structure to hold data in Go Lang | ||
+ | |||
+ | |||
Line 218: | Line 251: | ||
} | } | ||
- | // fullName returns | + | // getter |
+ | // attention - the assignment to struct - is derived from parenthesis after " | ||
+ | // is declared OUTSIDE | ||
func (a author) fullName() string { | func (a author) fullName() string { | ||
return a.first + " " + a.last | return a.first + " " + a.last | ||
+ | } | ||
+ | |||
+ | // setter | ||
+ | // passing the reference, so that we change the exact object and not its value | ||
+ | // changeName changes the first and last name of the author | ||
+ | func (a *author) changeName(first, | ||
+ | a.first = first | ||
+ | a.last = last | ||
} | } | ||
Line 235: | Line 278: | ||
</ | </ | ||
+ | |||
+ | '' | ||
+ | |||
+ | Explains why to pass | ||
+ | |||
+ | {{https:// | ||
programming/go.1693856136.txt.gz · Last modified: by skipidar