weil ich ja immer wieder höre, dass PHP so'n Dreck ist, habe ich mir mal ein Go-Tutorial angeschaut, ob das was taugt. Dabei ist mir sofort eine ziehmliche Seltsamkeit aufgefallen in Bezug auf Arrays bzw. Slices, was eine Art dynamisches Array ist oder auch ein Teil der Elemente eines Arrays.
Grundsätzlich wird bei Go-Arrays ab 0 begonnen zu zählen.
a) Wir haben ein Array bzw. Slice
Das Slice enthält 5 Werte 1,2,3,4,5 mit den Indizies 0 bis 4.
Code: Alles auswählen
numbers := []int{1, 2, 3, 4, 5}
Code: Alles auswählen
fmt.Println(numbers[1:3])
Ich hätte eines der folgenden Dinge erwartet:
- das 1., 2. und 3. Element wäre also hier 1,2,3
- das Element mit den Indizies 1,2,3 dann ist das also 2,3,4
- ab dem 1. Element drei Werte, also wieder 1,2,3
- ab dem Element mit dem Index 1 drei Werte, auch wieder 2,3,4
Ist das allen Ernstes die Syntax?
Code: Alles auswählen
[Nr. des ersten Elements, Nummer des nachfolgenden Elementes, das ich nicht mehr haben möchte]
Wahrscheinlich ist mit der Zahl die Anfangsadresse des Speicherplatzes des jeweiligen Indexes gemeint. Anfangsadresse 2(=der Wert bei dem das Feld mit Index 2 beginnt) bis Anfangsadresse 4(=Endadresse von Feld mit Index 3) enthält genau den die Werte 2 und 3.
Aber das ist jetzt mal echt gewöhnungsbedürftig. Daran merkt man wahrscheinlich, dass ich mit Sprachen wie C eher nix zu tun habe und tendenziell nur Scriptsprachen nutze.