Initial commit

This commit is contained in:
Inanc Gumus
2018-10-13 23:30:21 +03:00
commit cde4e6632c
567 changed files with 17896 additions and 0 deletions

View 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"
// This program uses magic values
func main() {
cm := 100
m := cm / 100 // 100 is a magic value
fmt.Printf("%dcm is %dm\n", cm, m)
cm = 200
m = cm / 100 // 100 is a magic value
fmt.Printf("%dcm is %dm\n", cm, m)
}

View 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"
// This program uses a named constant
// instead of a magic value
func main() {
const meters int = 100
cm := 100
m := cm / meters // using a named constant
fmt.Printf("%dcm is %dm\n", cm, m)
cm = 200
m = cm / meters // using a named constant
fmt.Printf("%dcm is %dm\n", cm, m)
}

View 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
import "fmt"
func main() {
// Go can't catch the same error at runtime
// When you run this, there will be an error:
//
// panic: runtime error: integer divide by zero
n, m := 1, 0
fmt.Println(n / m)
// Go will detect the division by zero error
// at compile-time
//
// const n int = 1
// const m int = 0
// fmt.Println(n / m)
}

View 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
func main() {
const max int = 100
// ERROR: cannot assign to max
// constants are immutable (cannot change)
// max = 100
}

View 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"
"math"
)
func main() {
// math.Pow calculates the power of the given number
fmt.Println(math.Pow10(2)) // 100
fmt.Println(math.Pow10(3)) // 1000
fmt.Println(math.Pow10(4)) // 10000
// ERROR: math.Pow is not a constant
// constants cannot use runtime constructs
// const max int = math.Pow10(2)
}

View File

@ -0,0 +1,17 @@
// 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 main() {
n := 2
// ERROR: n is not a constant
// const max int = n
_ = n
}

View 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
import "fmt"
func main() {
// When argument to len is a constant, len can be used
// while initializing a constant
//
// Here, "Hello" is a constant.
const max int = len("Hello")
fmt.Println(max)
}