Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import "fmt"
- type Person struct {
- Name string
- }
- type Android struct {
- Person //sort of like inheritence, if an "Android" is a "Person", it can use Talk().
- Model string
- }
- func (p *Person) Talk() { //"(p *Person)" means this is a method, it only works on "Person" structs, as in, structs with a "Person" type. Example: p.Talk().
- fmt.Printf("Hi, my name is %s!", p.Name)
- }
- func main() {
- a := new(Android)
- defer func(s string){ //anonymous function. Will not work if "defer" is removed, as a.Name is given a value only after it's declared.
- a.Talk() //instead of saying "a.Person.Talk()", we just use a.Talk(), because Android is a Person.
- }(a.Name)
- a.Name = "Lil' John"
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement