Как использовать операторы в Golang
Операторы позволяют нам выполнять различные типы операций над операндами. В языке Go операторы можно классифицировать на основе их различных функций.
Оператор короткого объявления переменных (:=) в Golang используется для создания переменных с уникальным именем и начальным значением. Основная цель использования этого оператора — объявление и инициализация локальных переменных внутри функций, а также сужение области действия переменных. Тип переменной определяется типом выражения. Ключевое слово var также используется для создания переменных определенного типа. Таким образом, можно сказать, что в Golang есть два способа создания переменных:
Теперь давайте узнаем, как использовать оператор короткого объявления переменных в Golang!
Основное содержание
variable_name := biểu thức hoặc giá trị
Здесь вам необходимо инициализировать переменную сразу после объявления. Но используя ключевое слово var , вы можете избежать инициализации во время объявления. Нет необходимости указывать тип переменной. Выражение или значение в правой части используется для оценки типа переменной.
Например: здесь мы объявляем переменные с помощью оператора короткого объявления и не указываем тип переменной. Тип переменной определяется типом выражения в правой части оператора :=
.
// Minh họa chương trình Go dùng := (toán tử khai báo ngắn)
package main
import "fmt"
func main() {
// khai báo và khởi tạo biến
a := 30
// lấy một biến chuỗi
Language: = "Go Programming"
fmt.Println("The Value of a is: ", a)
fmt.Println("The Value of Language is: ", Language)
}
Результат:
The Value of a is: 30
The Value of Language is: Go Programming
Оператор краткого объявления также можно использовать для объявления нескольких переменных одного и того же или разных типов в одном объявлении. Типы этих переменных оцениваются выражением в правой части оператора :=
.
Например:
// Minh họa chương trình Go dùng toán tử khai báo ngắn := short để khai báo nhiều
// biến thành một câu lệnh khai báo duy nhất
package main
import "fmt"
func main() {
// nhiều biến của cùng kiểu(int)
geek1, geek2, geek3 := 117, 7834, 5685
// nhiều biến của các kiểu khác nhau
geek4, geek5, geek6 := "GFG", 859.24, 1234
// Hiện giá trị và kiểu của biến
fmt.Printf("The value of geek1 is : %d\n", geek1)
fmt.Printf("The type of geek1 is : %T\n", geek1)
fmt.Printf("\nThe value of geek2 is : %d\n", geek2)
fmt.Printf("The type of geek2 is : %T\n", geek2)
fmt.Printf("\nThe value of geek3 is : %d\n", geek3)
fmt.Printf("The type of geek3 is : %T\n", geek3)
fmt.Printf("\nThe value of geek4 is : %s\n", geek4)
fmt.Printf("The type of geek4 is : %T\n", geek4)
fmt.Printf("\nThe value of geek5 is : %f\n", geek5)
fmt.Printf("The type of geek5 is : %T\n", geek5)
fmt.Printf("\nThe value of geek6 is : %d\n", geek6)
fmt.Printf("The type of geek6 is : %T\n", geek6)
}
Результат:
The value of geek1 is : 117
The type of geek1 is : int
The value of geek2 is : 7834
The type of geek2 is : int
The value of geek3 is : 5685
The type of geek3 is : int
The value of geek4 is : GFG
The type of geek4 is : string
The value of geek5 is : 859.240000
The type of geek5 is : float64
The value of geek6 is : 1234
The type of geek6 is : int
Важные моменты, которые следует помнить:
Оператор краткого объявления можно использовать, когда хотя бы одна переменная в левой части оператора :=
объявлена новой. Оператор краткого объявления переменных работает как присваивание переменным, объявленным в том же лексическом блоке. Чтобы лучше понять эту концепцию, давайте рассмотрим пример.
Пример 1: Приведенная ниже программа выдаст ошибку, поскольку в левой части оператора нет новой переменной :=
.
// Minh họa chương trình Go dùng khai báo biến ngắn
package main
import "fmt"
func main() {
// lấy hai biến
p, q := 100, 200
fmt.Println("Value of p ", p, "Value of q ", q)
// Báo lỗi vì không có biến mới ở bên tay trái của :=
p, q := 500, 600
fmt.Println("Value of p ", p, "Value of q ", q)
}
Ошибка:
./prog.go:17:10: no new variables on left side of :=
Пример 2:
В приведенной ниже программе вы можете увидеть строку geek3, geek2 := 456, 200, которая будет работать без ошибок, поскольку слева от оператора есть как минимум одна новая переменная, то есть geek3 :=
.
// Chương trình Go dùng toán tử khai báo biến ngắn
package main
import "fmt"
func main() {
// Ở đây, khai báo biến ngắn hoạt động
// như một phép gán cho biến geek1
// vì cùng một biến có trong cùng một khối
// do đó giá trị của geek2 được thay đổi từ 100 thành 200
geek1, geek2 := 78, 100
// ở đây, := được sử dụng như một phép gán cho geek2
// vì nó đã được khai báo. Ngoài ra, dòng này
// sẽ hoạt động tốt vì geek3 mới được tạo
// biến
geek3, geek2 := 456, 200
// Nếu bạn thử chạy các dòng được chú thích,
// thì trình biên dịch sẽ báo lỗi vì
// các biến này đã được định nghĩa
// geek1, geek2 := 745, 956
// geek3 := 150
// Hiện giá trị của các biến
fmt.Printf("The value of geek1 and geek2 is : %d %d\n", geek1, geek2)
fmt.Printf("The value of geek3 and geek2 is : %d %d\n", geek3, geek2)
}
Результат:
The value of geek1 and geek2 is : 78 200
The value of geek3 and geek2 is : 456 200
Go — строго типизированный язык, поскольку вы не можете присвоить объявленной переменной значение другого типа данных.
Например:
// Minh họa chương trình Go dùng toán tử khai báo biến ngắn
package main
import "fmt"
func main() {
// lấy một biến của int
z := 50
fmt.Printf("Value of z is %d", z)
// gán lại giá trị của kiểu chuỗi
// nó sẽ đưa ra lỗi
z := "Golang"
}
Ошибка:
./prog.go:16:4: no new variables on left side of :=
./prog.go:16:7: cannot use “Golang” (type string) as type int in assignment
В кратком объявлении переменной Golang позволяет инициализировать набор переменных с помощью вызова функции, которая возвращает несколько значений. Или можно сказать, что переменным также могут быть присвоены значения, которые оцениваются во время выполнения.
Например:
// Tại đây, hàm math.Max function trả về
// số lớn nhất trong biến i
i := math.Max(x, y)
С помощью оператора короткого объявления переменных (:=) можно объявлять локальные переменные, область действия которых ограничена только уровнем блока. Обычно локальные переменные объявляются внутри функционального блока. Если вы попытаетесь объявить глобальные переменные с помощью оператора короткого объявления, вы получите ошибку.
Пример 1:
// Chương trình Go hiển thị cách sử dụng toán tử :=
// để khai báo các biến cục bộ
package main
import "fmt"
// sử dụng từ khóa var để khai báo
// và khởi tạo biến
// đó là package hoặc bạn có thể nói
// phạm vi cấp toàn cục
var geek1 = 900
// sử dụng khai báo biến ngắn
// sẽ báo lỗi
geek2 := 200
func main() {
// truy cập geek1 bên trong hàm
fmt.Println(geek1)
// truy cập geek2 bên trong hàm
fmt.Println(geek2)
}
Ошибка:
./prog.go:15:1: syntax error: non-declaration statement outside function body
Пример 2:
// Chương trình Go dùng toán tử := operator
// để khai báo các biến cục bộ
package main
import "fmt"
// dùng từ khóa var để khai báo
// và khởi tạo biến
// nó đóng gói hoặc bạn có thể báo
// phạm vi cấp toàn cục
var geek1 = 900
func main() {
// dùng khai báo biến ngắn
// bên trong hàm chính
// nó có phạm vi cục bộ tức là không thể
// truy cập bên ngoài hàm chính
geek2 := 200
// truy cập geek1 bên trong hàm này
fmt.Println(geek1)
// truy cập geek2 bên trong hàm này
fmt.Println(geek2)
}
Результат:
900
200
Умные телевизоры действительно покорили мир. Благодаря множеству замечательных функций и возможности подключения к Интернету технологии изменили то, как мы смотрим телевизор.
Холодильники — привычные бытовые приборы. Холодильники обычно имеют 2 отделения: холодильное отделение просторное и имеет подсветку, которая автоматически включается каждый раз, когда пользователь ее открывает, а морозильное отделение узкое и не имеет подсветки.
На сети Wi-Fi влияют многие факторы, помимо маршрутизаторов, пропускной способности и помех, но есть несколько разумных способов улучшить работу вашей сети.
Если вы хотите вернуться к стабильной версии iOS 16 на своем телефоне, вот базовое руководство по удалению iOS 17 и понижению версии с iOS 17 до 16.
Йогурт — замечательная еда. Полезно ли есть йогурт каждый день? Как изменится ваше тело, если вы будете есть йогурт каждый день? Давайте узнаем вместе!
В этой статье рассматриваются наиболее питательные виды риса и способы максимально увеличить пользу для здоровья любого выбранного вами вида риса.
Установление режима сна и отхода ко сну, смена будильника и корректировка рациона питания — вот некоторые из мер, которые помогут вам лучше спать и вовремя просыпаться по утрам.
Арендуйте, пожалуйста! Landlord Sim — мобильная игра-симулятор для iOS и Android. Вы будете играть за владельца жилого комплекса и начнете сдавать квартиры в аренду, чтобы улучшить интерьер своих апартаментов и подготовить их к приему арендаторов.
Получите игровой код Bathroom Tower Defense Roblox и обменяйте его на потрясающие награды. Они помогут вам улучшить или разблокировать башни с более высоким уроном.
Давайте максимально подробно изучим конструкцию, обозначения и принципы работы трансформаторов.
От лучшего качества изображения и звука до голосового управления и многого другого — эти функции на базе искусственного интеллекта делают смарт-телевизоры намного лучше!
Поначалу люди возлагали большие надежды на DeepSeek. Как ИИ-чат-бот, позиционируемый как серьезный конкурент ChatGPT, он обещает интеллектуальные возможности и возможности чата.
Легко упустить важные детали, записывая другие важные вещи, а попытки делать заметки во время общения могут отвлекать. Решение — Fireflies.ai.
Аксолот в Minecraft станет отличным помощником для игроков при действиях под водой, если они знают, как им пользоваться.
Конфигурация A Quiet Place: The Road Ahead имеет довольно высокий рейтинг, поэтому вам нужно будет рассмотреть ее перед принятием решения о загрузке.