Go Concepts - Operators: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
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 [[Go_Concepts_-_Concurrency#Reading_an_Instance_from_the_Channel|receive]] messages on channels.
<tt><-</tt> is the left arrow operator. It is used to [[Go_Channels#Placing_an_Instance_on_the_Channel|send]] and [[https://kb.novaordis.com/index.php/Go_Channelsy#Reading_an_Instance_from_the_Channel|receive]] messages on channels.


=<tt>.</tt>=
=<tt>.</tt>=

Revision as of 04:25, 2 April 2016

External

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:

:=

Variable declaration and assignment. Also known as short variable declaration operator.

<-

<- is the left arrow operator. It is used to send and [[1]] 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.