Как использовать операторы в Golang

Операторы являются основой каждого языка программирования. Таким образом, функциональность языка Golang неполная без использования операторов. Операторы позволяют нам выполнять различные типы операций над операндами. В языке Go операторы можно классифицировать на основе их различных функций .

Как использовать операторы в Golang

Арифметические операторы

Эти операторы используются для выполнения операций над операндами в языке Go:

  • Сложение: «+» складывает два операнда. Например: х+у.
  • Вычитание: «-» вычитает два операнда. Пример: ху.
  • Умножение: «*» умножает два операнда. Например: х*у.
  • Деление: «/» делит первый операнд на второй операнд. Например: х/у.
  • Остаток: оператор «%» возвращает остаток при делении первого операнда на второй операнд. Например: х%у.

 Примечание: -, +, !, &, *, <- и ^ также называются унарными операторами, и приоритет унарных операторов выше. Операторы ++ и — являются операторами, они не являются выражениями, поэтому они находятся вне иерархии операторов.

Например:

//Minh họa chương trình Go dùng toán tử số học
package main 

import "fmt"

func main() { 
p:= 34
q:= 20
	
// Phép cộng
result1:= p + q 
fmt.Printf("Result of p + q = %d", result1) 
	
// Phép trừ
result2:= p - q 
fmt.Printf("\nResult of p - q = %d", result2) 
	
// Phép nhân
result3:= p * q 
fmt.Printf("\nResult of p * q = %d", result3) 
	
// Division 
result4:= p / q 
fmt.Printf("\nResult of p / q = %d", result4) 
	
// Modulus 
result5:= p % q 
fmt.Printf("\nResult of p %% q = %d", result5) 
} 

Результат:

Kết quả của p + q = 54
Kết quả của p - q = 14
Kết quả của p * q = 680
Kết quả của p / q = 1
Kết quả của p % q = 14

Реляционные операторы

Операторы отношения используются для сравнения двух значений. Давайте рассмотрим каждого оператора по отдельности:

  • Оператор '=='(Равно) проверяет, равны ли два указанных операнда. Если равно, возвращает true. В противном случае возвращается false. Например, 5==5 вернет значение true.
  • Оператор '!='(Не равно) проверяет, равны ли два указанных операнда. В противном случае возвращается значение true. В противном случае возвращается false. Это точное логическое дополнение оператора «==». Например, 5!=5 вернет false.
  • Оператор '>'(Больше чем) проверяет, больше ли первый операнд второго операнда. Если больше, возвращается значение true. Если меньше, возвращается false. Например, 6>5 вернет значение true.
  • Оператор «<» (меньше) проверяет, меньше ли первый операнд второго операнда. Если меньше, возвращается значение true. Если нет, возвращается false. Например, <5 вернет
  • Оператор '>='(Больше, чем равно) проверяет, больше ли первый операнд второго операнда или равен ему. Если больше или равно, возвращается значение true. Если меньше или равно, возвращается false. Например: 5>=5 вернет true.
  • Оператор «<=» (меньше или равно) проверяет, меньше ли первый операнд второго операнда или равен ему. Если значение больше или равно, возвращается значение true. Если меньше или равно, возвращается false. Например: <=5 также вернет

Например:

// Minh họa chương trình Go dùng toán tử quan hệ
package main 

import "fmt"

func main() { 
p:= 34
q:= 20
	
// ‘=='(Equal To) 
result1:= p == q 
fmt.Println(result1) 
	
// ‘!='(Not Equal To) 
result2:= p != q 
fmt.Println(result2) 
	
// ‘<‘(less than)="" result3:="p">< q="" fmt.println(result3)="" ‘="">'(Greater Than) 
result4:= p > q 
fmt.Println(result4) 
	
// ‘>='(Greater Than Equal To) 
result5:= p >= q 
fmt.Println(result5) 
	
// ‘<='(less than="" equal="" to)="" result6:="p"><= q="" fmt.println(result6)="" }="">

Результат:

false
true
false
true
true
false

Логические операторы

Они используются для объединения двух или более условий/ограничений или для дополнения оценки рассматриваемого начального условия.

  • И: Оператор «&&» возвращает значение true, если оба рассматриваемых условия выполнены. В противном случае возвращается false. Например, a && b возвращает значение true, когда и a, и b являются истинными (т.е. не равны нулю).
  • ИЛИ: Оператор '||' Возвращает значение true, если выполняется одно (или оба) рассматриваемых условия. В противном случае возвращается false. Например: а || b возвращает true, если a или b являются истинными (т.е. не равны нулю). Конечно, он возвращает значение true, когда и a, и b истинны.
  • Логическое НЕ: «!» Оператор Возвращает значение true, если рассматриваемое условие не выполняется. В противном случае возвращается false. Например: !a возвращает true, если a ложно, то есть когда a = 0.

Например:

// Minh họa chương trình Go dùng toán tử logic
package main 
import "fmt"
func main() { 
	var p int = 23
	var q int = 60
		
	if(p!=q && p<=q){ fmt.println("true")="" }="" if(p!="q" ||=""><=q){ fmt.println("true")="" }="" if(!(p="=q)){" fmt.println("true")="" }="" }="">

Результат:

True
True
True

Побитовые операторы

В языке Go существует 6 побитовых операторов, которые работают на уровне битов или используются для выполнения побитовых операций. Ниже приведены побитовые операторы:

  • & (побитовое И): принимает два числа в качестве операндов и выполняет операцию И над каждым битом двух чисел. Результатом AND будет только 1, если оба бита равны 1.
  • | (побитовое ИЛИ): принимает два числа в качестве операндов и выполняет операцию ИЛИ над каждым битом двух чисел. Результат ИЛИ равен 1, если любой из двух бит равен 1.
  • ^ (побитовое исключающее ИЛИ): принимает два числа в качестве операндов и выполняет операцию исключающего ИЛИ над каждым битом двух чисел. Результатом XOR является 1, если два бита различны.
  • < (сдвиг влево): берет два числа, сдвигает биты первого операнда влево, второй операнд определяет количество позиций для сдвига
  • >> (сдвиг вправо): Берем два числа, сдвигаем биты первого операнда вправо, второй операнд определяет количество позиций для сдвига.
  • &^ (И НЕ): Это явный побитовый оператор.

Например:

// Minh họa chương trình Go dùng toán tử bitwise
package main 

import "fmt"

func main() { 
p:= 34
q:= 20
	
// & (bitwise AND) 
result1:= p & q 
fmt.Printf("Result of p & q = %d", result1) 
	
// | (bitwise OR) 
result2:= p | q 
fmt.Printf("\nResult of p | q = %d", result2) 
	
// ^ (bitwise XOR) 
result3:= p ^ q 
fmt.Printf("\nResult of p ^ q = %d", result3) 
	
// < (left="" shift)="" result4:="p">< 1="" fmt.printf("\nresult="" of="" p="">< 1="%d" ,"="" result4)="">> (right shift) 
result5:= p >> 1
fmt.Printf("\nResult of p >> 1 = %d", result5) 
	
// &^ (AND NOT) 
result6:= p &^ q 
fmt.Printf("\nResult of p &^ q = %d", result6) 
	
	
} 

Результат:

Kết quả của p & q = 0
Kết quả của p | q = 54
Kết quả của p ^ q = 54
Kết quả của p < 1="68" kết="" quả="" của="" p="">> 1 = 17
Kết quả của p &^ q = 34

Оператор присваивания

Оператор присваивания используется для присвоения значения переменной. Левый операнд оператора присваивания — это переменная, а правый операнд оператора присваивания — это значение. Значение справа должно иметь тот же тип данных, что и переменная слева, в противном случае компилятор вернет ошибку. Ниже показаны различные типы операторов присваивания:

  • “="(Простое присваивание): Это простейший оператор присваивания. Этот оператор используется для присвоения значения справа переменной слева.
  • «+=»(Дополнительное назначение): Этот оператор представляет собой комбинацию операторов «+» и «=». Этот оператор сначала добавляет текущее значение левой переменной к значению правой, а затем присваивает результат левой переменной.
  • «-=» (минус-присваивание): этот оператор представляет собой комбинацию операторов «-» и «=». Этот оператор сначала вычитает текущее значение левой переменной из значения правой, а затем присваивает результат левой переменной.
  • «*=» (присваивание умножения): этот оператор представляет собой комбинацию операторов «*» и «=». Этот оператор сначала умножает текущее значение левой переменной на значение правой, а затем присваивает результат левой переменной.
  • «/=» (присваивание деления): этот оператор представляет собой комбинацию операторов «/» и «=». Этот оператор сначала делит текущее значение левой переменной на значение правой, а затем присваивает результат левой переменной.
  • «%="(Остаток присваивания): Этот оператор представляет собой комбинацию операторов «%» и «=». Этот оператор сначала берет остаток текущего значения левой переменной, учитывая значение справа, а затем присваивает результат левой переменной.
  • «&=» (побитовое И): этот оператор представляет собой комбинацию операторов «&» и «=». Этот оператор сначала выполняет побитовую операцию «И» между текущим значением левой переменной и значением правой, а затем присваивает результат левой переменной.
  • «^=» (побитовое исключающее ИЛИ): этот оператор представляет собой комбинацию операторов «^» и «=». Этот оператор сначала выполняет операцию «побитового исключающего ИЛИ» над текущим значением левой переменной и значением правой, а затем присваивает результат левой переменной.
  • «|=»(побитовое включающее ИЛИ): этот оператор представляет собой комбинацию оператора «|» операторы и «=». Этот оператор сначала выполняет операцию «побитового включающего ИЛИ» над текущим значением левой переменной и значением правой, а затем присваивает результат левой переменной.
  • «<=: Этот оператор представляет собой комбинацию операторов < ' и '="'». Этот оператор сначала «сдвигает» текущее значение переменной слева на значение справа, а затем присваивает результат переменной справа.
  • «>>=»: этот оператор представляет собой комбинацию операторов «>>» и «=». Этот оператор сначала выполняет операцию «сдвиг вправо» над текущим значением левой переменной и значением справа, а затем присваивает результат левой переменной.

Например:

// Minh họa chương trình Go dùng toán tử gán
package main 
	
import "fmt"
	
func main() { 
var p int = 45
	var q int = 50
	
// “=”(Simple Assignment) 
p = q 
fmt.Println(p) 
	
// “+=”(Add Assignment) 
	p += q 
fmt.Println(p) 
	
//“-=”(Subtract Assignment) 
p-=q 
fmt.Println(p) 
	
// “*=”(Multiply Assignment) 
p*= q 
fmt.Println(p) 
	
// “/=”(Division Assignment) 
	p /= q 
fmt.Println(p) 
	
	// “%=”(Modulus Assignment) 
	p %= q 
fmt.Println(p) 
	
} 

Результат:

50
100
50
2500
50
0

Другие операторы

  • &: Этот оператор возвращает адрес переменной.
  • *: Этот оператор предоставляет указатель на переменную.
  • <-: Имя этого оператора — receive. Используется для получения значения из
// Minh họa chương trình sử dụng toán tử khác
package main 
	
import "fmt"
	
func main() { 
a := 4
	
// Dùng địa chỉ của toán tử (&) toán tử trỏ gián tiếp (*)

b := &a 
fmt.Println(*b) 
*b = 7
fmt.Println(a) 
} 

Результат:

4
7

Оставить комментарий

Втянет ли Европа в гипотетическую ядерную войну между США, Израилем и Ираном? Объяснение правил НАТО.

Втянет ли Европа в гипотетическую ядерную войну между США, Израилем и Ираном? Объяснение правил НАТО.

Руководство по статьям 4 и 5 НАТО, правилам самообороны ООН и объяснение того, почему консультации не означают автоматического вступления Европы в войну.

Может ли Иран уже обладать ядерным оружием? Как интерпретировать доказательства.

Может ли Иран уже обладать ядерным оружием? Как интерпретировать доказательства.

Оцените утверждения об Иране в шесть этапов, различая обогащение урана, разработку оружия и подтвержденное обладание им.

Ядерные структуры США и Израиля: что на самом деле объясняют общедоступные источники.

Ядерные структуры США и Израиля: что на самом деле объясняют общедоступные источники.

Понимание полномочий по принятию решений в ядерной сфере в шесть этапов, включая контроль со стороны гражданского населения США и ограничения общедоступной информации об Израиле.

Ормузский пролив в 2026 году: что говорят официальные источники о перебоях в судоходстве.

Ормузский пролив в 2026 году: что говорят официальные источники о перебоях в судоходстве.

Справочник по официальным данным о сбоях в судоходстве в Ормузском проливе в 2026 году, заявлениям, связанным с Ираном, подтвержденным инцидентам и тому, что остается неясным.

Может ли гипотетический ядерный удар США и Израиля по Ирану привести к Третьей мировой войне?

Может ли гипотетический ядерный удар США и Израиля по Ирану привести к Третьей мировой войне?

Основанное на источниках руководство по рискам ядерной эскалации, правилам Устава ООН и статье 5 НАТО в строго гипотетическом сценарии с Ираном.

Как подготовиться к гипотетическому отключению электроэнергии, вызванному электромагнитным импульсом: 5 шагов для гражданских лиц.

Как подготовиться к гипотетическому отключению электроэнергии, вызванному электромагнитным импульсом: 5 шагов для гражданских лиц.

Для подготовки к отключению электроэнергии используйте пять шагов; сценарии, связанные с ядерным взрывом и электромагнитным импульсом, являются гипотетическими, и в первую очередь необходимо следовать официальным инструкциям по размещению в убежищах.

Как оценить киберугрозы, не предполагая Третью мировую войну: пошаговое руководство из 5 шагов.

Как оценить киберугрозы, не предполагая Третью мировую войну: пошаговое руководство из 5 шагов.

Используйте 5 защитных шагов для подтверждения кибернарушения, защиты учетных записей домохозяйств и предотвращения ошибочного принятия отключения электроэнергии за войну.

Ядерная зима: как оценить глобальные климатические последствия гипотетического удара по Ирану.

Используйте эти 5 шагов, чтобы оценить климатические последствия гипотетического удара Ирана, сравнить допущения моделей и избежать необоснованных прогнозов.

Сколько времени может потребоваться Земле для восстановления после гипотетической ядерной войны?

Сколько времени может потребоваться Земле для восстановления после гипотетической ядерной войны?

Ознакомьтесь с шестью шагами по чтению научных работ по вопросам климата, продовольствия и восстановления экосистем после гипотетического ядерного конфликта.

Контрольный список мер по подготовке к ядерным осадкам: необходимые припасы и шаги по обустройству убежища.

Контрольный список мер по подготовке к ядерным осадкам: необходимые припасы и шаги по обустройству убежища.

Соберите практичный комплект для подготовки к радиоактивным осадкам за шесть шагов, включающий герметично упакованные продукты питания и воду, радиоприемник, медикаменты и инструкции по обустройству укрытия.