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
스마트 TV는 정말로 세상을 휩쓸었습니다. 이렇게 많은 뛰어난 기능과 인터넷 연결 덕분에 기술은 우리가 TV를 시청하는 방식을 바꾸어 놓았습니다.
냉장고는 가정에서 흔히 볼 수 있는 가전제품이다. 냉장고는 보통 2개의 칸으로 구성되어 있는데, 냉장실은 넓고 사용자가 열 때마다 자동으로 켜지는 조명이 있는 반면, 냉동실은 좁고 조명이 없습니다.
Wi-Fi 네트워크는 라우터, 대역폭, 간섭 외에도 여러 요인의 영향을 받지만 네트워크를 강화하는 몇 가지 스마트한 방법이 있습니다.
휴대폰에서 안정적인 iOS 16으로 돌아가려면 iOS 17을 제거하고 iOS 17에서 16으로 다운그레이드하는 기본 가이드는 다음과 같습니다.
요거트는 정말 좋은 음식이에요. 매일 요구르트를 먹는 것이 좋은가요? 매일 요구르트를 먹으면, 몸에 어떤 변화가 있을까요? 함께 알아보죠!
이 기사에서는 가장 영양가 있는 쌀 종류와 어떤 쌀을 선택하든 건강상의 이점을 극대화하는 방법에 대해 설명합니다.
수면 일정과 취침 루틴을 정하고, 알람 시계를 바꾸고, 식단을 조절하는 것은 더 나은 수면을 취하고 아침에 제때 일어나는 데 도움이 되는 몇 가지 방법입니다.
임대해 주세요! Landlord Sim은 iOS와 Android에서 플레이할 수 있는 모바일 시뮬레이션 게임입니다. 여러분은 아파트 단지의 집주인 역할을 하며 아파트 내부를 업그레이드하고 세입자가 입주할 수 있도록 준비하여 임대를 시작하게 됩니다.
욕실 타워 디펜스 Roblox 게임 코드를 받고 신나는 보상을 받으세요. 이들은 더 높은 데미지를 지닌 타워를 업그레이드하거나 잠금 해제하는 데 도움이 됩니다.
변압기의 구조, 기호, 동작 원리에 대해 가장 정확한 방법으로 알아보겠습니다.
더 나은 화질과 음질, 음성 제어 등 AI 기반 기능 덕분에 스마트 TV가 훨씬 더 좋아지고 있습니다!
처음에 사람들은 DeepSeek에 큰 기대를 걸었습니다. ChatGPT의 강력한 경쟁자로 마케팅되는 AI 챗봇으로서, 지능적인 채팅 기능과 경험을 약속합니다.
다른 필수 사항을 적다 보면 중요한 세부 사항을 놓치기 쉽고, 채팅하면서 메모를 하려고 하면 주의가 산만해질 수 있습니다. Fireflies.ai가 해결책입니다.
Axolot Minecraft는 플레이어가 사용법을 안다면 수중에서 작업할 때 큰 도움이 될 것입니다.
'콰이어트 플레이스: 더 로드 어헤드'의 구성은 상당히 높은 평가를 받고 있으므로, 다운로드하기로 결정하기 전에 구성을 고려해야 합니다.