Go.Основы.Структуры
https://t.me/HotCheatSheetСтруктуры
type
имя_структуры
struct {
переменная1 тип_переменной1
переменная2 тип_переменной2
}
Пример:
type Structure struct { x float64 y float64 z float64 } type Structure1 struct { x, y, z float64 }
Объявление
var s1 Structure
Или так:
s2 := new(Structure) s3 := Structure{x: 1, y: 2, z: 3} s4 := Structure{1, 2, 3}
Поля
Получить доступ к полям можно с помощью оператора .
(точка)
Пример:
s5 := new(Structure) s5.x = 2 s5.y = 4 s5.z = 8
Методы
import "fmt" func (s6 *Structure) add() float64 { return s6.x + s6.y + s6.z } func main() { s6 := Structure{x: 1, y: 2, z: 3} fmt.Println(s6.add()) }
Интерфейсы
type Book struct { name string } func (book *Book) about() string { return "Book: " + book.name }