Junior
Кои са основните структури от данни в Go?
sobes.tech AI
Отговор от AI
В Go съществуват следните основни (примитивни) и съставни (композитни) структури от данни:
Примитивни:
- Булеви (
bool) - Числови типове:
- Цели числа (
int,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64,uintptr) - Числа с плаваща точка (
float32,float64) - Комплексни числа (
complex64,complex128) - Байтове (
byte- псевдоним наuint8) - Руна (
rune- псевдоним наint32, представлява символ Unicode)
- Цели числа (
- Стриймове (
string)
Съставни:
- Масиви (
array)- Фиксиран размер.
var arr [5]int // масив от 5 цели числа - Срезове (
slice)- Динамичен размер, базиран на масиви.
var s []int // неинициализиран срез s = make([]int, 5, 10) // срез с дължина 5 и капацитет 10 - Карти (
map)- Неупорядочена колекция от двойки ключ-стойност.
m := make(map[string]int) // карта с ключове string и стойности int - Структури (
struct)- Типизирана колекция от полета.
type Person struct { Name string Age int } - Посочвачи (
pointer)- Съхраняват адреса на паметна клетка.
var x int = 10 var p *int = &x // p сочи към x - Функции (
func)- В Go функциите са първокласни типове.
type MyFunc func(int) string // тип функция - Канали (
channel)- Използват се за синхронизация и обмен на данни между горутини.
ch := make(chan int) // небуфериран канал за int - Интерфейси (
interface)- Представляват набор от методи, които тип трябва да реализира.
type Reader interface { Read(p []byte) (n int, err error) }
Също така е важно да се споменат други важни съставни типове, като:
- Срезове от байтове (
[]byte) - Срезове от руни (
[]rune)
Тези структури от данни осигуряват гъвкавост и производителност за широк спектър от задачи в Go.