.
go mod init project_name
go build
This will generate the go.mod file
go get -u github.com/go-sql-driver/mysql
go get -u github.com/gin-gonic/gin
go get -u gorm.io/gorm
go get -u form.io/driver/postgres
go run main.go
package main
import "fmt"
func main() {
var age = 12 // var age int = 12
var num = 2.3456
var str = "hello world"
fmt.Println(age, num, str)
var a = 10
var b = 5
var res int
res = a % b
fmt.Println("Result is", res)
const pi = 3.14 // can't be changed
fmt.Println(pi)
var web string = "FinTechDocs"
fmt.Println(len(web))
fmt.Println(web + " is cool \nwebsite")
// Printf
var num2 float64 = 4.323423
fmt.Printf("%f\n", num2)
fmt.Printf("%.2f\n", num2)
fmt.Printf("%T\n", num2)
var isDone bool = true
fmt.Printf("%T\n", isDone)
fmt.Printf("%t\n", isDone)
// if else
var age2 = 8
if age2 < 5 {
fmt.Println("it's time to go to kindergarden")
} else if age2 == 5 {
fmt.Println("it's time to go to preschool")
} else if (age2 > 5) && (age2 <= 18) {
var grade = age2 - 5
fmt.Println("It's time to go to ", grade, " grade")
} else {
fmt.Println("You have to work")
}
// switch case
var age3 = 10
switch age3 {
case 5:
fmt.Println("You're 5 years old")
case 15:
fmt.Println("You're 15 years old")
case 10:
fmt.Println("You're 10 years old")
default:
fmt.Println("Your age is unknown")
}
// for loop
var i = 10
for i > 0 {
fmt.Println(i)
i--
}
for i := 0; i <= 5; i++ {
fmt.Println(i)
}
// arrays
var arr [3]int
arr[0] = 45
arr[1] = 97
arr[2] = 75
fmt.Println(arr[1])
nums := [3]float64{4.23, 5.23, 98.1}
for i, value := range nums {
fmt.Println(value, i)
}
// maps
webSites := make(map[string]float64)
webSites["FinTechDocs"] = 0.8
webSites["SimpleBoard"] = 0.9
fmt.Println(webSites["SimpleBoard"])
// functions
var aa = 29
var bb = 1
aa, bb = summ(aa, bb)
fmt.Println(aa, bb)
// замыкания
var numm = 3
multiply := func() int {
numm *= 2
return numm
}
fmt.Println(multiply())
// откладывания
defer two()
one()
// pointers * and &
var x = 0
pointer(&x)
fmt.Println(x)
// structs
bob := Cats{"Bob", 7, 0.75}
fmt.Println("Bob age is", bob.age)
fmt.Println("Bob function is", bob.test())
}
func summ(num_1 int, num_2 int) (int, int) {
var res int
res = num_1 + num_2
return res, num_1 * num_2
}
func one() {
fmt.Println("1")
}
func two() {
fmt.Println("defered funciton")
}
func pointer(x *int) {
*x = 2
}
type Cats struct {
name string
age int
happiness float64
}
func (cat *Cats) test() float64 {
return float64(cat.age) * cat.happiness
}