Skip to content

usynin2000/go-snippets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-snippets

Сниппет для тех, кто только начинает работать с языком GO

Запускать программы можно через:

go run filename

ИЛИ

Если хочешь скомпилировать в исполняемый файл, используй:

go build hello_world.go
./hello_world

При переходе с Python на Go есть несколько ключевых моментов, которые стоит учитывать:

  1. Строгая типизация В отличие от Python, где переменные имеют динамическую типизацию, в Go все переменные имеют строгий тип. Например:
var x int = 10  // Явное объявление типа
y := 20         // Неявное объявление, но тип фиксируется (int)
  1. Компиляция vs. Интерпретация Go — это компилируемый язык, поэтому код нужно компилировать перед запуском. Это даёт преимущество в скорости.

  2. Явное управление ошибками В Go нет исключений, как в Python (try/except). Вместо этого функции часто возвращают ошибки, которые нужно обрабатывать:

package main

import (
    "errors"
    "fmt"
)

func divide(a, b float64) (float64, error) {
    if b == 0 {
        return 0, errors.New("деление на ноль")
    }
    return a / b, nil
}

func main() {
    result, err := divide(10, 0)
    if err != nil {
        fmt.Println("Ошибка:", err)
    } else {
        fmt.Println("Результат:", result)
    }
}
  1. Отсутствие классов и ООП

В Go нет классов и наследования, но есть структуры (struct) и интерфейсы. Например:

type Person struct {
    Name string
    Age  int
}

func (p Person) Greet() {
    fmt.Println("Привет, меня зовут", p.Name)
}
  1. Горутины и конкурентность Go поддерживает лёгкие потоки выполнения (горутины), что упрощает работу с многопоточностью:
go myFunction()  // Запускает функцию в отдельной горутине
  1. Отсутствие while, только for В Go нет while, используется только for:
for i := 0; i < 5; i++ {
    fmt.Println(i)
}
  1. Разница между := и = в Go

:= Объявляет новую переменную и присваивает ей значение (x := 10)

= Присваивает значение уже существующей переменной (x = 20)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages