Initial commit
This commit is contained in:
21
first/explain/comments/main.go
Normal file
21
first/explain/comments/main.go
Normal file
@ -0,0 +1,21 @@
|
||||
// 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 makes this package an executable program
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
/*
|
||||
main function
|
||||
Go executes this program using this function.
|
||||
There should be only one main file in a main package.
|
||||
Executable programs are also called as "commands".
|
||||
*/
|
||||
func main() {
|
||||
fmt.Println("Hello Gopher!")
|
||||
}
|
16
first/explain/expressions/01-operator/main.go
Normal file
16
first/explain/expressions/01-operator/main.go
Normal file
@ -0,0 +1,16 @@
|
||||
// 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() {
|
||||
fmt.Println("Hello!" + "!")
|
||||
}
|
18
first/explain/expressions/02-call-expression/main.go
Normal file
18
first/explain/expressions/02-call-expression/main.go
Normal file
@ -0,0 +1,18 @@
|
||||
// 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"
|
||||
"runtime"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// runtime.NumCPU() is a call expression
|
||||
fmt.Println(runtime.NumCPU() + 1)
|
||||
}
|
3
first/explain/expressions/README
Normal file
3
first/explain/expressions/README
Normal file
@ -0,0 +1,3 @@
|
||||
I've moved the main.go file for the expressions coding lecture into:
|
||||
|
||||
02-call-expression/
|
14
first/explain/importing/01-file-scope/main.go
Normal file
14
first/explain/importing/01-file-scope/main.go
Normal file
@ -0,0 +1,14 @@
|
||||
// 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() {
|
||||
fmt.Println("Hello!")
|
||||
}
|
16
first/explain/importing/02-renaming/main.go
Normal file
16
first/explain/importing/02-renaming/main.go
Normal file
@ -0,0 +1,16 @@
|
||||
// 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"
|
||||
import f "fmt"
|
||||
|
||||
func main() {
|
||||
fmt.Println("Hello!")
|
||||
f.Println("There!")
|
||||
}
|
14
first/explain/packages/scopes/bye.go
Normal file
14
first/explain/packages/scopes/bye.go
Normal file
@ -0,0 +1,14 @@
|
||||
// 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 bye() {
|
||||
fmt.Println("Bye!")
|
||||
}
|
14
first/explain/packages/scopes/hey.go
Normal file
14
first/explain/packages/scopes/hey.go
Normal file
@ -0,0 +1,14 @@
|
||||
// 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 hey() {
|
||||
fmt.Println("Hey!")
|
||||
}
|
38
first/explain/packages/scopes/main.go
Normal file
38
first/explain/packages/scopes/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() {
|
||||
fmt.Println("Hello!")
|
||||
|
||||
// two files belong to the same package
|
||||
// calling `bye()` of bye.go here
|
||||
bye()
|
||||
}
|
||||
|
||||
// EXERCISE: Remove the comments from the below function
|
||||
// And analyze the error message
|
||||
|
||||
// func bye() {
|
||||
// fmt.Println("Bye!")
|
||||
// }
|
||||
|
||||
// ***** EXPLANATION *****
|
||||
//
|
||||
// ERROR: "bye" function "redeclared"
|
||||
// in "this block"
|
||||
//
|
||||
// "this block" means = "main package"
|
||||
//
|
||||
// "redeclared" means = you're using the same name
|
||||
// in the same scope again
|
||||
//
|
||||
// main package's scope is:
|
||||
// all source-code files which are in the same main package
|
14
first/explain/packages/what/bye.go
Normal file
14
first/explain/packages/what/bye.go
Normal file
@ -0,0 +1,14 @@
|
||||
// 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 bye() {
|
||||
fmt.Println("Bye!")
|
||||
}
|
14
first/explain/packages/what/hey.go
Normal file
14
first/explain/packages/what/hey.go
Normal file
@ -0,0 +1,14 @@
|
||||
// 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 hey() {
|
||||
fmt.Println("Hey!")
|
||||
}
|
25
first/explain/packages/what/main.go
Normal file
25
first/explain/packages/what/main.go
Normal file
@ -0,0 +1,25 @@
|
||||
// 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() {
|
||||
fmt.Println("Hello!")
|
||||
|
||||
// You can access functions from other files
|
||||
// which are in the same package
|
||||
|
||||
// Here, `main()` can access `bye()` and `hey()`
|
||||
|
||||
// It's because: bye.go, hey.go and main.go
|
||||
// are in the main package.
|
||||
|
||||
bye()
|
||||
hey()
|
||||
}
|
24
first/explain/scopes/01-scopes/main.go
Normal file
24
first/explain/scopes/01-scopes/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
|
||||
|
||||
// file scope
|
||||
import "fmt"
|
||||
|
||||
// package scope
|
||||
const ok = true
|
||||
|
||||
// package scope
|
||||
func main() { // block scope starts
|
||||
|
||||
var hello = "Hello"
|
||||
|
||||
// hello and ok are visible here
|
||||
fmt.Println(hello, ok)
|
||||
|
||||
} // block scope ends
|
26
first/explain/scopes/02-block-scope/main.go
Normal file
26
first/explain/scopes/02-block-scope/main.go
Normal file
@ -0,0 +1,26 @@
|
||||
// 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
|
||||
|
||||
func nope() { // block scope starts
|
||||
|
||||
// hello and ok are only visible here
|
||||
const ok = true
|
||||
var hello = "Hello"
|
||||
|
||||
_ = hello
|
||||
} // block scope ends
|
||||
|
||||
func main() { // block scope starts
|
||||
|
||||
// hello and ok are not visible here
|
||||
|
||||
// ERROR:
|
||||
// fmt.Println(hello, ok)
|
||||
|
||||
} // block scope ends
|
39
first/explain/scopes/03-nested-scope/main.go
Normal file
39
first/explain/scopes/03-nested-scope/main.go
Normal file
@ -0,0 +1,39 @@
|
||||
// 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"
|
||||
|
||||
// I didn't talk about this in a lecture
|
||||
// As a side-note, I wanted to put it here
|
||||
// Please review it.
|
||||
|
||||
var declareMeAgain = 10
|
||||
|
||||
func nested() { // block scope starts
|
||||
|
||||
// declares the same variable
|
||||
// they both can exist together
|
||||
// this one only belongs to this scope
|
||||
// package's variable is still intact
|
||||
var declareMeAgain = 5
|
||||
fmt.Println("inside nope:", declareMeAgain)
|
||||
|
||||
} // block scope ends
|
||||
|
||||
func main() { // block scope starts
|
||||
|
||||
fmt.Println("inside main:", declareMeAgain)
|
||||
|
||||
nested()
|
||||
|
||||
// package-level declareMeAgain isn't effected
|
||||
// from the change inside the nested func
|
||||
fmt.Println("inside main:", declareMeAgain)
|
||||
|
||||
} // block scope ends
|
22
first/explain/statements/01-execution-flow/main.go
Normal file
22
first/explain/statements/01-execution-flow/main.go
Normal file
@ -0,0 +1,22 @@
|
||||
// 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() {
|
||||
fmt.Println("Hello!")
|
||||
|
||||
// Statements change the execution flow
|
||||
// Especially the control flow statements like `if`
|
||||
if 5 > 1 {
|
||||
fmt.Println("bigger")
|
||||
}
|
||||
}
|
16
first/explain/statements/02-semicolons/main.go
Normal file
16
first/explain/statements/02-semicolons/main.go
Normal file
@ -0,0 +1,16 @@
|
||||
// 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() {
|
||||
fmt.Println("Hello"); fmt.Println("World!")
|
||||
}
|
Reference in New Issue
Block a user