Initial commit
This commit is contained in:
33
03-packages-and-scopes/exercises/02-scopes/main.go
Normal file
33
03-packages-and-scopes/exercises/02-scopes/main.go
Normal file
@ -0,0 +1,33 @@
|
||||
// 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
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// EXERCISE
|
||||
// 1. Create two files: main.go and printer.go
|
||||
//
|
||||
// 2. In printer.go:
|
||||
// 1. Create a function named hello
|
||||
// 2. Inside the hello function, print your name
|
||||
//
|
||||
// 3. In main.go:
|
||||
// 1. Create the usual func main
|
||||
// 2. Call your function just by using its name: hello
|
||||
// 3. Create a function named bye
|
||||
// 4. Inside the bye function, print "bye bye"
|
||||
//
|
||||
// 4. In printer.go:
|
||||
// 1. Call the bye function from
|
||||
// inside the hello function
|
||||
//
|
||||
// 5. In main.go:
|
||||
// 1.
|
||||
// ---------------------------------------------------------
|
||||
|
||||
func main() {
|
||||
}
|
38
03-packages-and-scopes/exercises/02-scopes/solution/main.go
Normal file
38
03-packages-and-scopes/exercises/02-scopes/solution/main.go
Normal file
@ -0,0 +1,38 @@
|
||||
// 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"
|
||||
|
||||
func main() {
|
||||
// as you can see, I don't need to import a package
|
||||
// and I can call `hello` function here.
|
||||
//
|
||||
// this is because, package-scoped names
|
||||
// are shared in the same package
|
||||
hello()
|
||||
|
||||
// but here, i can't access the fmt package without
|
||||
// importing it.
|
||||
//
|
||||
// this is because, it's in the printer.go's file scope.
|
||||
// it imports it.
|
||||
|
||||
// this main func can also call bye function here
|
||||
// bye()
|
||||
}
|
||||
|
||||
// printer.go can call this function
|
||||
//
|
||||
// this is because, bye function is in the package-scope
|
||||
// of the main package now.
|
||||
//
|
||||
// main func can also call this.
|
||||
func bye() {
|
||||
fmt.Println("bye bye")
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
// 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"
|
||||
|
||||
func hello() {
|
||||
// only this file can access the imported fmt package
|
||||
// when others also do so, they can also access
|
||||
// their own `fmt` "name"
|
||||
|
||||
fmt.Println("hi! this is inanc!")
|
||||
bye()
|
||||
}
|
Reference in New Issue
Block a user