Въведение в Go Operators
Всеки език за програмиране се предлага с определени оператори, които се използват за извършване на някои логически / математически операции. Обикновено операторите са конструирани, които обикновено работят като функции. Операторите са основно обозначени със специални знаци и се използват за добавяне (+), изваждане (-) и дори подобни задания (=)
По принцип езиците имат вградени оператори, а някои езици позволяват определени от потребителя оператори.
Елементите или числата, върху които се прилага операторът, се наричат операнди. Позицията на оператор по отношение на операндите може да бъде префикс, постфикс или Infix.
Различните оператори са както следва:
- Аритметични оператори
- Логически оператори
- Релационни оператори
- Битови оператори
- Оператори за присвояване
- Разни / Други оператори
1. Аритметика
Нека приемем a = 6, b = 3
- Добавяне: Използва се за добавяне на числа
Например: c = a + b; // c дава 9
- Изваждане: Използва се за изваждане на числата
Например : c = ab; // c дава 3
- Умножете: Използва се за умножение на числата
Например : c = a * b; // c дава 18
- Разделяне: Използва се за деление на числата
Например : c = a / b; // c дава 2
- Модул: Използва се за получаване на остатъка след разделяне на числата
Например : c = a% b; // c дава 0
- Увеличение: Използва се за увеличаване на целочислената стойност с 1
Например : a ++ // a вече е 7
- Намаление: Използва се за намаляване на целочислената стойност с 1
Например : a– // a вече е 5
2. Логически
Логически операции като AND, ИЛИ операции, НЕ се извършват от тези оператори.
Нека x = 0, y = 1
- И (&&): Ако и двата операнда не са нулеви, И И-дът става истина.
Например : x&& y = невярно
- ИЛИ (||): Ако някой от операндите не е нулев, ИЛИ от тях става вярно
Например : x || y = вярно
- НЕ (!): Не се използва за промяна на логическата стойност на операнда.
Например:! X = вярно
! y = невярно
! (x&& y) = вярно
3. Релационно
Релационните оператори връщат true или false въз основа на операциите върху операнди.
Нека a = 3; b = 4; с = 3;
- Равен (==): Това се връща вярно, ако операндите са равни
Например : a == c връща истина
a == b връща невярно
- NotEquals (! =): Това се връща вярно, ако операндите не са равни
Например : a! = C връща невярно
a! = b връща истина
- GreaterThan (>): Това се връща вярно, ако левият операнд е по-голям от десния
Например : a> b връща невярно
- LessThan (<): Това се връща вярно, ако левият операнд е по-малък от десния
Например: a
- GreaterThanOrEqualTo (> =): Това връща вярно, ако левият операнд е по-голям или равен на десния операнд
Например : a> = c връща истина
- LessThanOrEqualTo (<=): Това връща вярно, ако левият операнд е по-голям или равен на десния операнд
Например : a <= b връща истина
4. BitWise
Тези оператори работят малко по бит и извеждат логиката въз основа на битовите операции.
По-долу е таблицата за истинност за справка:
х | Y | X и Y | X | Y | X Y |
0 | 0 | 0 | 0 |
0 |
0 | 1 | 0 | 1 |
1 |
1 | 0 | 0 | 1 |
1 |
1 | 1 | 1 | 1 |
0 |
Например: Нека A = 10, B = 13
A = 0000 1100
B = 0000 1101
- &: Използва се за битово И операция
Например: A & B = 0000 1100 = 12
- |: Използва се за битово ИЛИ Операция
Например: A | B = 0000 1101 = 13
- ^: Използва се за извършване на операция XOR
Например: A B = 0000 0001 = 1
- <<: Това е лявата смяна, която се използва за преместване на битовете вляво от число, което е посочено вдясно
Например: A << 2: Това би измести стойността на A с 2
т.е.: 0000 0010
0000 1000 = 8
- >>: Това е правилната смяна, която се използва за преместване на битовете вдясно чрез число, което е посочено вдясно
Например: A >> 1: Това би изместило стойността на A с 1
т.е.: 0000 0010
0000 0001 = 1
5. Възлагане
Те се използват за присвояване на стойности от десния операнд към левия въз основа на оператора.
Нека a = 4, b = 2
- =: Използва се за задаване на стойността просто отдясно на ляво.
Например: a = b // Задава b стойност, т.е. 2 на a
- + =: Използва се за добавяне на стойността и присвояване на левия операнд
Например: a + = b => a = a + b => a = 6
- - =: Използва се за изваждане на стойността и присвояване на левия операнд
Например: a- = b => a = ab => a = 2
- * =: Използва се за умножение на стойността и присвояване на левия операнд
Например: a * = b => a = a * b => a = 8
- / =: Използва се за разделяне на стойността и присвояване на левия операнд
Например: a / = b => a = a / b => a = 2
- % =: Използва се за задаване на напомняне след разделяне
Например: a% = b => a = a% b => a = 0
- << =: Използва се за изместване вляво и присвояване на стойността на променливата
Например: a <= a << 2
- >> =: Използва се за изместване надясно и присвояване на стойността на променливата
Например: b >> = 2 => = b >> 2
- & =: Побитово и присвояване.
Например: c & = 2 => c = c & 2
- | =: Побитово ИЛИ Присвояване.
Например: c | = 2 => c = c | 2
- =: Побитово присвояване на XOR
Например: c = 2 => c = c 2
6. Други / Разни
& и * са още два оператора, които Go поддържа
- &: Използва се за получаване на действителния адрес на променлива
Употреба : & a;
- *: Използва се, за да стигнете показалеца към променлива
Употреба: * a
Препоръчителни статии
Това е ръководство за операторите Go. Тук сме обсъдили различни типове Go Operators с примери. Можете също да разгледате следната статия, за да научите повече -
- C Оператори
- Алтернативи на Matlab
- GitHub Алтернативи
- Разликите на Go и Java