Go Concepts - Operators: Difference between revisions
(→<-) |
(→<-) |
||
Line 67: | Line 67: | ||
= <- = | = <- = | ||
<tt><-</tt> is the left arrow operator. It is used to [[Go_Concepts_-_Concurrency#Placing_an_Instance_on_the_Channel|send]] and receive messages on channels. | <tt><-</tt> is the left arrow operator. It is used to [[Go_Concepts_-_Concurrency#Placing_an_Instance_on_the_Channel|send]] and [[Go_Concepts_-_Concurrency#Reading_an_Instance_from_the_Channel|receive]] messages on channels. | ||
=<tt>.</tt>= | =<tt>.</tt>= |
Revision as of 03:58, 2 April 2016
External
- Go Specification - Operators: https://golang.org/ref/spec#Operators
Internal
+
Addition or concatenation. The compiler figures out the semantics based on the operands' types.
Applies to:
-
Subtraction
*
* is the multiplication operator.
* is used with pointers as dereference operator. For more details see reference and dereference operators.
* designates pointer types.
&
& is the reference operator. For more details see reference and dereference operators.
/
Division
%
Remainder
=
The assignment operator.
+=
Addition and assignment.
==
The equality operator. Returns a boolean value.
[]
"[]" is the indexing operator. If the index is out of bounds, the runtime generates a run-time panic:
panic: runtime error: index out of range
Applies to:
- strings
- arrays
:=
Variable declaration and assignment. Also known as short variable declaration operator.
<-
<- is the left arrow operator. It is used to send and receive messages on channels.
.
Used for:
- access of a struct's fields.
- invoke a method on the instance of the type the method is associated with, or on the pointer to an instance of the type the method is associated with.