Go Built-In Function new: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 4: | Line 4: | ||
<font color=darkkhaki> | <font color=darkkhaki> | ||
=Internal= | ==Internal== | ||
* [[Go Concepts - Functions#Built-in_Functions|Built-in Functions]] | * [[Go Concepts - Functions#Built-in_Functions|Built-in Functions]] | ||
* [[Go Concepts - Lexical Structure#Pre-Declared_Identifiers|Pre-declared Identifiers]] | * [[Go Concepts - Lexical Structure#Pre-Declared_Identifiers|Pre-declared Identifiers]] | ||
=Overview= | ==Overview== | ||
The <tt>new()</tt> built-in function takes a type as argument, allocates memory of the given type and returns ''a pointer'' to it. | The <tt>new()</tt> built-in function takes a type as argument, allocates memory of the given type and returns ''a pointer'' to it. | ||
Line 20: | Line 20: | ||
We don't have to worry about de-allocating memory allocated with <tt>new()</tt>. It is automatically [[Go_Concepts_-_Memory_Model#Garbage_Collection|garbage collected]]. | We don't have to worry about de-allocating memory allocated with <tt>new()</tt>. It is automatically [[Go_Concepts_-_Memory_Model#Garbage_Collection|garbage collected]]. | ||
=<tt>new()</tt> and <tt>New()</tt>= | ==<tt>new()</tt> and <tt>New()</tt>== | ||
The "[[Go_Concepts_-_Error_Handling#The_.22errors.22_Package|errors]]" package exposes a <tt>New()</tt> function. Do not mistake it for <tt>new()</tt>. | The "[[Go_Concepts_-_Error_Handling#The_.22errors.22_Package|errors]]" package exposes a <tt>New()</tt> function. Do not mistake it for <tt>new()</tt>. |
Revision as of 01:20, 25 August 2023
Overview
new()
can be used to create new slice, map and struct instances.
TO DEPLETE
Internal
Overview
The new() built-in function takes a type as argument, allocates memory of the given type and returns a pointer to it.
var ptr *some_type ptr = new(some_type)
We don't have to worry about de-allocating memory allocated with new(). It is automatically garbage collected.
new() and New()
The "errors" package exposes a New() function. Do not mistake it for new().