I refer function as a agents because function work like agents. Sometime different programmer, working on single project or it can be poor choice whole application written in main. That why every language introduce packages and functions.
Packages will be beneficial when programmer use predefined functionalities which already provided by different programmers . Such as images, net packages. If you explore you know images contain , functions, constants, variables and subdirectories. This package only concern with images or pixels.
Functions are the good option when a programmer work on modules or a blocks or even above scenario. If you play a military games then you know on a mission there are so many agents work together to accomplish mission. Each agent have own tools. Each person have different skills such as some agents short range shooter or some agents have long sniper, some agents are experts in technology etc. You can create any type of function. We build so many functions.
How Functions Work?
Function need a value or values as a argument along with type. Some functions return value after operation or some function return nothing.
func p(x int) { // print x }
func q (x int, y int) int { return x-y}
Pass by Value and Pass by Reference
Pass by value:
p and q both function called pass by value. In Pass by value copy of variables pass as arguments, that's why change on value doesn't affect on original variables. Functions & variables both are initialize on lexical block.
Pass by reference:
functions which take pointers, maps, slice , channels as arguments called pass by reference. It can affect on original value after modification.
Functions Writing Ways:
func p (x int) int{}
func p (_ int) int{}
func p (x int) (int){}
func p (x int) (x int){}
Working with other language
You can also write like
func p (x int) int
this is way to compiler on different language.
Packages will be beneficial when programmer use predefined functionalities which already provided by different programmers . Such as images, net packages. If you explore you know images contain , functions, constants, variables and subdirectories. This package only concern with images or pixels.
Functions are the good option when a programmer work on modules or a blocks or even above scenario. If you play a military games then you know on a mission there are so many agents work together to accomplish mission. Each agent have own tools. Each person have different skills such as some agents short range shooter or some agents have long sniper, some agents are experts in technology etc. You can create any type of function. We build so many functions.
How Functions Work?
Function need a value or values as a argument along with type. Some functions return value after operation or some function return nothing.
func p(x int) { // print x }
func q (x int, y int) int { return x-y}
Pass by Value and Pass by Reference
Pass by value:
p and q both function called pass by value. In Pass by value copy of variables pass as arguments, that's why change on value doesn't affect on original variables. Functions & variables both are initialize on lexical block.
Pass by reference:
functions which take pointers, maps, slice , channels as arguments called pass by reference. It can affect on original value after modification.
Functions Writing Ways:
func p (x int) int{}
func p (_ int) int{}
func p (x int) (int){}
func p (x int) (x int){}
Working with other language
You can also write like
func p (x int) int
this is way to compiler on different language.
Comments
Post a Comment