Go (програмски језик) — разлика између измена

Садржај обрисан Садржај додат
+ типови података
м ++ типови података
Ред 73:
Искази се завршавају са симболом [[тачка-зарез]], али се он не мора наћи у изворном коду на местима где се завршава ред. Алат <code>go fmt</code> из основне дистрибуције избацује овај симбол са места на којима је сувишан.
 
Функције могу враћати више вредности, па је шаблон враћања пара <code>result, error</code> главни метод индикације постојања грешке настале током позива дате функције. Сличан шаблон се примењује за приступ мапама и за локално проверавање типа податка, са тим што је тада пар који се враћа <code>result, bool</code>, где други параметар указује на тачност операције.
 
Гоу такође додаје синтаксу за иницијализацију параметара у <code>struct</code> типу по имену, као и за иницијализацију мапа и низова.
Ред 90:
 
[[Показивач (програмирање)|Показивачи]] постоје за све типове података; за тип {{mono|T}}, показивач се означава са {{mono|*T}}. За разлику од C-а, нема показивачке аритметике, осим кроз тип {{mono|Pointer}} из пакета {{mono|unsafe}} у стандардној библиотеци.
 
Поред подршке за интерфејсе, систем типова је ''номиналан''. Кључна реч {{mono|type}} ствара нови ''именован тип податка'', који се разликује од осталих типова података који могу имати исти распоред у меморији (у случају {{mono|struct}} типа, и исти редослед поља). Неке конверзије између типова су уграђене, а додавање новог типа се могу дефинисати додатне конверзије. Конверзије између типова су увек експлицитне.
 
На пример, помоћу кључне речи {{mono|type}} се може дефинисати тип за [[IP адреса|IPv4]] адресе, које су 32-битни цели бројеви:
 
<syntaxhighlight lang="go">
type ipv4addr uint32
</syntaxhighlight>
 
== Примери ==