add: quiz and exercises to pointers
This commit is contained in:
32
26-pointers/exercises/03-fix-the-crash/main.go
Normal file
32
26-pointers/exercises/03-fix-the-crash/main.go
Normal file
@ -0,0 +1,32 @@
|
||||
// For more tutorials: https://blog.learngoprogramming.com
|
||||
//
|
||||
// Copyright © 2018 Inanc Gumus
|
||||
// Learn Go Programming Course
|
||||
// License: https://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
//
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// EXERCISE: Fix the crash
|
||||
//
|
||||
// EXPECTED OUTPUT
|
||||
//
|
||||
// brand: apple
|
||||
// ---------------------------------------------------------
|
||||
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
type computer struct {
|
||||
brand *string
|
||||
}
|
||||
|
||||
func main() {
|
||||
var c *computer
|
||||
change(c, "apple")
|
||||
fmt.Printf("brand: %s\n", c.brand)
|
||||
}
|
||||
|
||||
func change(c *computer, brand string) {
|
||||
(*c.brand) = brand
|
||||
}
|
24
26-pointers/exercises/03-fix-the-crash/solution/main.go
Normal file
24
26-pointers/exercises/03-fix-the-crash/solution/main.go
Normal file
@ -0,0 +1,24 @@
|
||||
// For more tutorials: https://blog.learngoprogramming.com
|
||||
//
|
||||
// Copyright © 2018 Inanc Gumus
|
||||
// Learn Go Programming Course
|
||||
// License: https://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
//
|
||||
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
type computer struct {
|
||||
brand *string
|
||||
}
|
||||
|
||||
func main() {
|
||||
c := &computer{} // init with a value (before: c was nil)
|
||||
change(c, "apple")
|
||||
fmt.Printf("brand: %s\n", *c.brand) // print the pointed value
|
||||
}
|
||||
|
||||
func change(c *computer, brand string) {
|
||||
c.brand = &brand // set the brand's address
|
||||
}
|
Reference in New Issue
Block a user