| 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) | |||||
| } |