Go Functions: Difference between revisions
(→main()) |
|||
Line 9: | Line 9: | ||
<span id='Short_Variable_Declaration'></span>Go functions allow variables to be declared, inside the function, with the [[Go_Language#Short_Variable_Declaration|short variable declaration]]. | <span id='Short_Variable_Declaration'></span>Go functions allow variables to be declared, inside the function, with the [[Go_Language#Short_Variable_Declaration|short variable declaration]]. | ||
= | =<span id='Function_Syntax'>Declaration= | ||
The function declaration starts with the <code>func</code> [[Go_Language#Keywords|keyword]]. | The function declaration starts with the <code>func</code> [[Go_Language#Keywords|keyword]]. | ||
Line 24: | Line 24: | ||
==Return Declaration== | ==Return Declaration== | ||
=Invocation= | |||
=<tt>main()</tt>= | =<tt>main()</tt>= |
Revision as of 03:52, 26 August 2023
External
Internal
Overview
A function is a block of instructions, grouped together, and that optimally have a name.
Go functions allow variables to be declared, inside the function, with the short variable declaration.
Declaration
The function declaration starts with the func
keyword.
func <function_name>([parameters]) [(return_declaration)] {
// body
[return [return_values]]
}
Parameters
Parameters are optional.
Return Declaration
Invocation
main()
All programs in Go must have a main()
function, where the program execution starts. The main()
function must be declared in the main
package.
You never call this function. When a program is executed, the main()
gets called automatically.
Pass by Value vs. Pass by Reference vs. Pass by Pointer
Arrays are passed by value.
Built-in Functions
Built-in functions are available by default, without importing any package. Their names are predeclared function identifiers. They give access to Go's internal data structures. Their semantics depends on the arguments.
Length and Capacity
len()
len()
returns string length, array length, slice length and map size.
cap()
cap()
returns slice capacity.
Complex Number Manipulation
TO DO: Continue to Distribute These Built-in Functions
Allocation: new()
Making slices, maps and channels: make()
Appending to and copying slices: append(), copy()
Deletion of map elements delete()
Handling panics panic(), recover()
DEPLETE THIS
Built-in functions for type conversions.
deplete this Go Concepts - Functions