Junior
Wat zijn de belangrijkste datastructuren in Go?
sobes.tech AI
Antwoord van AI
In Go bestaan de volgende basis (primitieve) en samengestelde (composite) gegevensstructuren:
Primitief:
- Booleans (
bool) - Numerieke types:
- Gehele getallen (
int,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64,uintptr) - Komma-getallen (
float32,float64) - Complexe getallen (
complex64,complex128) - Byte (
byte- alias vooruint8) - Rune (
rune- alias voorint32, vertegenwoordigt een Unicode-teken)
- Gehele getallen (
- Strings (
string)
Samengesteld:
- Arrays (
array)- Vaste grootte.
var arr [5]int // array van 5 gehele getallen - Slices (
slice)- Dynamische grootte, gebaseerd op arrays.
var s []int // niet-geïnitialiseerde slice s = make([]int, 5, 10) // slice van lengte 5 en capaciteit 10 - Maps (
map)- Ongeordende collectie van sleutel-waarde paren.
m := make(map[string]int) // map met string-keys en int-waarden - Structs (
struct)- Getypte collectie van velden.
type Person struct { Name string Age int } - Pointers (
pointer)- Bevat het adres van een geheugencel.
var x int = 10 var p *int = &x // p wijst naar x - Functies (
func)- In Go zijn functies first-class types.
type MyFunc func(int) string // functietype - Kanalen (
channel)- Worden gebruikt voor synchronisatie en gegevensuitwisseling tussen goroutines.
ch := make(chan int) // onbufferde kanaal voor int - Interfaces (
interface)- Vertegenwoordigen een set methoden die een type moet implementeren.
type Reader interface { Read(p []byte) (n int, err error) }
Het is ook belangrijk om andere belangrijke samengestelde typen te vermelden, zoals:
- Byte-slices (
[]byte) - Rune-slices (
[]rune)
Deze gegevensstructuren bieden flexibiliteit en prestaties voor een breed scala aan taken in Go.