Обучение технологиям в одном видеоуроке

16 уроков Консультации

Изучение Go в одном видео уроке за 30 минут!

Изучение Go в одном видео уроке за 30 минут!


В этом уроке мы с вами постараемся изучить язык программирования Go или же Golang. Мы изучим все основные моменты этого языка и сделаем это в одном видео уроке и всего за 30 минут!

Видео урок:

Полезные ссылки:
Скачать Go (Golang)

Исходный код

Код из видео урока
// Переменные
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)

// Строки
var web string = "itProger"
fmt.Println(web + " is cool 
website")

// Printf
var isDone bool = true
fmt.Printf("%t 
", isDone)

// Условные операторы
var age = 20
if age < 5 {
  fmt.Println("Вам пора в детский сад")
} else if age == 5 {
  fmt.Println("Вам пора идти в прескул")
} else if (age > 5) && (age <= 18) {
  var grade = age - 5
  fmt.Println("Пора идти в", grade, "класс")
} else {
  fmt.Println("Вам пора в университет")
}

// Switch case
var age = 10
switch age {
  case 5: fmt.Println("Вам 5 лет")
  case 15: fmt.Println("Вам 15 лет")
  case 10: fmt.Println("Вам 10 лет")
  default: fmt.Println("Вам неизвестно сколько лет")
}

// Цикл For
var i = 10
for i > 0 {
  fmt.Println(i)
  i--
}

for i := 0; i <= 5; i++ {
  fmt.Println(i)
}

// Массивы
var arr[3] int
arr[0] = 45
arr[1] = 97
arr[2] = 76
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["itProger"] = 0.8
webSites["yandex"] = 0.99
fmt.Println(webSites["itProger"])

// Замыкания
var num = 3
multiple := func() int {
  num *= 2
  return num
}
fmt.Println(multiple())
Функции и указатели
package main

import "fmt"

func main () {
  var a = 3
  var b = 2
  a, b = summ (a, b)
  fmt.Println(a, b)
  
  var x = 0
  pointer (&x)
  fmt.Println(x)
}

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 pointer (x *int) {
  *x = 2
}
Структуры
package main

import "fmt"

func main () {
  bob := Cats{"Bob", 7, 0.87}
  fmt.Println("Bob function is", bob.test())
}

type Cats struct {
  name string
  age int
  happiness float64
}

func (cat *Cats) test() float64 {
  return float64(cat.age) * cat.happiness
}

Задание к уроку

Работа с функциями
Создайте функцию и передайте в нее массив значений. Верните только первый и последний элемент этого массива.
Посмотреть ответ
Решение задания:
package main

import "fmt"

func main() {
  var nums = []int{3, 6, 2, 8, 0}
  a, b := firstAndLast(nums)
  fmt.Println("Первый и последний элемент:", a, "и", b)
}

func firstAndLast(numbers []int) (int, int) {
  var first = numbers[0]
  var last = numbers[1]
  return first, last
}
Наибольший элемент
Найдите наибольший элемент в массиве чисел
Посмотреть ответ
Решени:
var nums = []int{3, 6, 2, 8, 0}
var max int = 0
for i := 0; i < len(nums); i++ {
  if nums[i] > max {
    max = nums[i]
  }
}

fmt.Println("Максимальный элемент:", max)

Также стоит посмотреть