package main | |||||
import "fmt" | |||||
func arrays() { | |||||
var a [5]int | |||||
fmt.Println("emp: ", a) | |||||
a[4] = 100 | |||||
fmt.Println("set: ", a) | |||||
fmt.Println("get: ", a[4]) | |||||
fmt.Println("len: ", len(a)) | |||||
b := [5]int{1, 2, 3, 4, 5} | |||||
fmt.Println("dcl: ", b) | |||||
b = [...]int{1, 2, 3, 4, 5} | |||||
fmt.Println("dcl: ", b) | |||||
b = [...]int{100, 3: 400, 500} | |||||
fmt.Println("idx: ", b) | |||||
var twoD [2][3]int | |||||
for i := 0; i < 2; i++ { | |||||
for j := 0; j < 3; j++ { | |||||
twoD[i][j] = i + j | |||||
} | |||||
} | |||||
fmt.Println("2d: ", twoD) | |||||
twoD = [2][3]int{ | |||||
{1, 2, 3}, | |||||
{1, 2, 3}, | |||||
} | |||||
fmt.Println("2d: ", twoD) | |||||
} |
package main | |||||
import ( | |||||
"fmt" | |||||
"math" | |||||
) | |||||
const s string = "constant" | |||||
func consts() { | |||||
fmt.Println(s) | |||||
const n = 500000000 | |||||
const d = 3e20 / n | |||||
fmt.Println(d) | |||||
fmt.Println(int64(d)) | |||||
fmt.Println(math.Sin(n)) | |||||
} |
package main | |||||
import "fmt" | |||||
func forloop() { | |||||
i := 1 | |||||
for i <= 3 { | |||||
fmt.Println(i) | |||||
i = i + 1 | |||||
} | |||||
for j := 0; j < 3; j++ { | |||||
fmt.Println(j) | |||||
} | |||||
for i := range 3 { | |||||
fmt.Println("range", i) | |||||
} | |||||
for { | |||||
fmt.Println("loop") | |||||
break | |||||
} | |||||
for n := range 6 { | |||||
if n%2 == 0 { | |||||
continue | |||||
} | |||||
fmt.Println(n) | |||||
} | |||||
} |
module gobyexample | |||||
go 1.22.4 |
package main | |||||
import "fmt" | |||||
func helloworld() { | |||||
fmt.Println("Hello, world!") | |||||
} |
package main | |||||
import "fmt" | |||||
func ifelse() { | |||||
if 7%2 == 0 { | |||||
fmt.Println("7 is even") | |||||
} else { | |||||
fmt.Println("7 is odd") | |||||
} | |||||
if 8%4 == 0 { | |||||
fmt.Println("8 is divisible by 4") | |||||
} | |||||
if 8%2 == 0 || 7%2 == 0 { | |||||
fmt.Println("either 8 or 7 is even") | |||||
} | |||||
if num := 9; num < 0 { | |||||
fmt.Println(num, "is negative") | |||||
} else if num < 10 { | |||||
fmt.Println(num, "has one digit") | |||||
} else { | |||||
fmt.Println(num, "has multiple digits") | |||||
} | |||||
} |
package main | |||||
func main() { | |||||
// arrays() | |||||
} |
package main | |||||
import ( | |||||
"fmt" | |||||
) | |||||
func slicefn() { | |||||
var s []string | |||||
fmt.Println("uninit: ", s, s == nil, len(s) == 0) | |||||
s = make([]string, 3) | |||||
fmt.Println("emp: ", s, "len: ", len(s), "cap: ", cap(s)) | |||||
s[0] = "a" | |||||
s[1] = "b" | |||||
s[3] = "c" | |||||
fmt.Println("set: ", s) | |||||
fmt.Println("get: ", s[2]) | |||||
fmt.Println("len: ", len(s)) | |||||
s = append(s, "d") | |||||
s = append(s, "e", "f") | |||||
fmt.Println("apd: ", s) | |||||
c := make([]string, len(s)) | |||||
copy(c, s) | |||||
fmt.Println("cpy: ", c) | |||||
l := s[2:5] | |||||
fmt.Println("sl1: ", l) | |||||
l = s[2:] | |||||
fmt.Println("sl2: ", l) | |||||
} |
package main | |||||
import ( | |||||
"fmt" | |||||
"time" | |||||
) | |||||
func switches() { | |||||
i := 2 | |||||
fmt.Print("Write ", i, " as ") | |||||
switch i { | |||||
case 1: | |||||
fmt.Println("one") | |||||
case 2: | |||||
fmt.Println("two") | |||||
case 3: | |||||
fmt.Println("three") | |||||
} | |||||
switch time.Now().Weekday() { | |||||
case time.Saturday, time.Sunday: | |||||
fmt.Println("It's the weekend") | |||||
default: | |||||
fmt.Println("It's a weekday") | |||||
} | |||||
t := time.Now() | |||||
switch { | |||||
case t.Hour() < 12: | |||||
fmt.Println("It's before noon") | |||||
default: | |||||
fmt.Println("It's afternoon") | |||||
} | |||||
whatAmI := func(i interface{}) { | |||||
switch t := i.(type) { | |||||
case bool: | |||||
fmt.Println("I'm a bool") | |||||
case int: | |||||
fmt.Println("I'm an int") | |||||
default: | |||||
fmt.Printf("Don't know type %T\n", t) | |||||
} | |||||
} | |||||
whatAmI(true) | |||||
whatAmI(1) | |||||
whatAmI("hey") | |||||
} |
package main | |||||
import "fmt" | |||||
func values() { | |||||
fmt.Println("go" + "lang") | |||||
fmt.Println("1+1=", 1+1) | |||||
fmt.Println("7.0/3.0=", 7.0/3.0) | |||||
fmt.Println(true && false) | |||||
fmt.Println(true || false) | |||||
fmt.Println(!true) | |||||
} |
package main | |||||
import "fmt" | |||||
func vars() { | |||||
var a = "Initial" | |||||
fmt.Println(a) | |||||
var b, c int = 1, 2 | |||||
fmt.Println(b, c) | |||||
var d = true | |||||
fmt.Println(d) | |||||
var e int | |||||
fmt.Println(e) | |||||
f := "apple" | |||||
fmt.Println(f) | |||||
} |