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
}