English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
типичные программы используют различные значения, которые могут изменяться в процессе выполнения.
예를 들어,사용자가 입력한 값을 처리하는 프로그램입니다. 사용자가 입력한 값은 다른 사용자가 입력한 값과 다를 수 있습니다. 따라서 이를 위해 변수를 사용해야 합니다. 다른 사용자가 같은 값을 사용하지 않을 수 있기 때문입니다. 사용자가 새로운 값을 입력하면 이 값은 운영 중에 사용되기 위해 컴퓨터의 랜덤 액세스 메모리에 일시적으로 저장될 수 있습니다. 이 메모리에서의 실행은 다른 메모리와 다를 수 있기 때문에 이를 통해 다른 용어로도 불립니다변수。변수는 실행 중에 변경할 수 있는 정보의 대체 표시자입니다. 또한 변수는 저장된 정보를 검색하고 처리할 수 있습니다.
변수이름 규칙:
변수 이름은 반드시 문자나 언더스코어(_)로 시작해야 합니다. 또한 이름에 'a' 문자가 포함될 수 있습니다.-z" 또는 "A"-Z" 또는 숫자 0-9및 문자 "_"를 포함합니다.
Geeks, geeks, _geeks23 //합법적인 변수 123Geeks, 23geeks // 잘못된 변수
변수 이름은 숫자로 시작하지 않아야 합니다.
234geeks //잘못된 변수
변수 이름은 대소문자를 구분합니다.
geeks와Geeks는 두 가지 다른 변수입니다
키워드는 변수 이름으로 사용할 수 없습니다.
변수 이름의 길이는 제한이 없지만, 가능한 한 사용하는 것이 좋습니다.4까지15개의 문자의 최적 길이는
Go 언어에서는 두 가지 방식으로 변수를 생성할 수 있습니다:
(1) var 키워드 사용:Go 언어에서는 변수는 특정 타입의var키워드가 생성된, 이 키워드는 변수 이름과 연결되어 초기 값이 부여됩니다.
문법:
var variable_name type = expression
중요 사항:
위의 문법에서는타입(type) 또는=표현식은 제거할 수 있지만, 변수 선언에서 두 가지를 동시에 제거할 수 없습니다.
타입을 제거하면 변수의 타입은 표현식의 값에 의해 초기화됩니다.
//변수 개념 package main import "fmt" func main() { //변수 선언 및 초기화 //명시적 타입 var myvariable1 = 20 var myvariable2 = "w3codebox" var myvariable3 = 34.80 // 값과 코드 상자를 표시합니다 // 변수의 타입 fmt.Printf("myvariable1의 값은 : %d\n", myvariable1) fmt.Printf("myvariable1의 타입은 : %T\n", myvariable1) fmt.Printf("myvariable2의 값은 : %s\n", myvariable2) fmt.Printf("myvariable2의 타입은 : %T\n", myvariable2) fmt.Printf("myvariable3의 값은 : %f\n", myvariable3) fmt.Printf("myvariable3의 타입은 : %T\n", myvariable3) }
출력:
myvariable1의 값은 : 20 myvariable1의 타입은 : int myvariable2의 값은 : w3codebox myvariable2의 타입은 : string myvariable3의 값은 : 34.800000 myvariable3의 타입은 : float64
표현식을 제거하면 해당 변수의 타입은 0이며, 숫자는 0, 부울 값은 false, 문자열은""인터페이스와 참조 타입은 nil입니다. 따라서,Go 언어에는 이러한 미초기화된 변수의 개념이 없습니다.
package main import "fmt" func main() { //변수 선언 및 초기화는 표현식을 사용하지 않습니다 var myvariable1 int var myvariable2 string var myvariable3 float64 //0 값 변수를 표시합니다 fmt.Printf("myvariable1의 값은 : %d\n", myvariable1) fmt.Printf("myvariable2의 값은 : %d\n", myvariable2) fmt.Printf("myvariable3의 값은 : %d\n", myvariable3) }
출력:
myvariable1의 값은 : 0 myvariable2의 값은 : !d(string=) myvariable3의 값은 : !d(float64=0)
타입을 사용하면 단일 선언에서 같은 타입의 여러 변수를 선언할 수 있습니다.
package main import "fmt" func main() { // 같은 타입의 여러 변수를 동시에 선언하고 초기화합니다 var myvariable1, myvariable2, myvariable3 int = 2, 454, 67 // 변수의 값을 출력합니다 fmt.Printf("myvariable1의 값은 : %d\n", myvariable1) fmt.Printf("myvariable2의 값은 : %d\n", myvariable2) fmt.Printf("myvariable3의 값은 : %d\n", myvariable3) }
출력:
myvariable1의 값은 : 2 myvariable2의 값은 : 454 myvariable3의 값은 : 67
타입을 제거하면 단일 선언에서 다른 타입의 여러 변수를 선언할 수 있습니다. 변수의 타입은 초기화 값에 의해 결정됩니다.
package main import "fmt" func main() { //다양한 타입의 변수 //단一行에서 선언 및 초기화 var myvariable1, myvariable2, myvariable3 = 2, "GFG", 67.56 // 변수 값과 타입 출력 fmt.Printf("myvariable1의 값은 : %d\n", myvariable1) fmt.Printf("myvariable1의 타입은 : %T\n", myvariable1) fmt.Printf("\nmyvariable2의 값은 : %s\n", myvariable2) fmt.Printf("myvariable2의 타입은 : %T\n", myvariable2) fmt.Printf("\nmyvariable3의 값은 : %f\n", myvariable3) fmt.Printf("myvariable3의 타입은 : %T\n", myvariable3) }
출력:
myvariable1의 값은 : 2 myvariable1의 타입은 : int myvariable2의 값은 : GFG myvariable2의 타입은 : string myvariable3의 값은 : 67.560000 myvariable3의 타입은 : float64
여러 값을 반환하는 호출 함수는 여러 변수를 초기화할 수 있습니다.
예를 들어:
//여기서 os.Open 함수는 //파일의 i 변수와 오류 //j 변수에서 var i, j = os.Open(name)
단축 변수 선언 사용:함수 내에서 선언하고 초기화된 지역 변수를 선언합니다.
문법:
variable_name:= expression
주의:다음과 같이 주의하세요::=와=끼리 혼동할 수 있습니다.:= 는 선언이며, = 는 할당입니다.
중요 사항:
위의 표현식에서는 변수의 타입이 표현식의 타입에 의해 결정됩니다.
package main import "fmt" func main() { // 단축 변수 선언 사용 myvariable1 := 39 myvariable2 := "oldtoolbag.com" myvariable3 := 34.67 // 변수 값과 타입 출력 fmt.Printf("myvariable1의 값은 : %d\n", myvariable1) fmt.Printf("myvariable1의 타입은 : %T\n", myvariable1) fmt.Printf("\nmyvariable2의 값은 : %s\n", myvariable2) fmt.Printf("myvariable2의 타입은 : %T\n", myvariable2) fmt.Printf("\nmyvariable3의 값은 : %f\n", myvariable3) fmt.Printf("myvariable3의 타입은 : %T\n", myvariable3) }
출력:
myvariable1의 값은 : 39 myvariable1의 타입은 : int myvariable2의 값은 : oldtoolbag.com myvariable2의 타입은 : string myvariable3의 값은 : 34.670000 myvariable3의 타입은 : float64
그들의 간결성과 유연성으로 인해 대부분의 로컬 변수는 단축 변수 선언으로 선언 및 초기화됩니다.
변수의 var 선언은 명시된 타입이 필요하거나 나중에 값을 할당할 때 초기 값이 중요하지 않은 로컬 변수에 사용됩니다.
단축 변수 선언을 사용하면 하나의 선언에서 여러 변수를 선언할 수 있습니다.
package main import "fmt" func main() { //단一行에서 선언 및 초기화 변수 //단축 변수 선언 사용 //동일한 타입의 여러 변수 myvariable1, myvariable2, myvariable3 := 800, 34.7, 56.9 // 변수 값과 타입 출력 fmt.Printf("myvariable1의 값은 : %d\n", myvariable1) fmt.Printf("myvariable1의 타입은 : %T\n", myvariable1) fmt.Printf("\nmyvariable2의 값은 : %f\n", myvariable2) fmt.Printf("myvariable2의 타입은 : %T\n", myvariable2) fmt.Printf("\nmyvariable3의 값은 : %f\n", myvariable3) fmt.Printf("myvariable3의 타입은 : %T\n", myvariable3) }
출력:
myvariable1의 값은 : 800 myvariable1의 타입은 : int myvariable2의 값은 : 34.700000 myvariable2의 타입은 : float64 myvariable3의 값은 : 56.900000 myvariable3의 타입은 : float64
단축 변수 선언에서는 여러 값을 반환하는 호출 함수를 통해 여러 변수를 초기화할 수 있습니다.
//여기서 os.Open 함수는 //파일의 i 변수와 오류 //j 변수에서 i, j := os.Open(name)
단축 변수 선언은 이미 동일한 문법 블록에서 선언된 변수들에 대해만 작동합니다. 외부 블록에서 선언된 변수는 무시됩니다. 다음 예제와 같이, 이 두 변수 중 최소 하나는 새 변수입니다.
package main import "fmt" func main() { //단축 변수 선언 사용 //여기서 단축 변수 선언 작업 //으로 myvar2변수 할당 //동일한 블록에서 동일한 변수가 존재하기 때문에 //따라서 myvar2의 값이45을 변경하면100 myvar1, myvar2 := 39, 45 myvar3, myvar2 := 45, 100 //주석 행을 실행하려고 시도하면 //그런 다음 컴파일러는 오류를 발생시킵니다. 왜냐하면 //이 변수들은 이미 정의되었습니다. 예를 들어 // myvar1,myvar2:= 43,47 // myvar2:= 200 // 변수 값 출력 fmt.Printf("myvar1 와 myvar2 의 값 : %d %d\n", myvar1, myvar2) fmt.Printf("myvar3 와 myvar2 의 값 : %d %d\n", myvar3, myvar2) }
출력:
myvar1 와 myvar2 의 값 : 39 100 myvar3 와 myvar2 의 값 : 45 100
단축 변수 선언을 사용하면 하나의 선언에서 여러 타입의 변수를 선언할 수 있습니다. 이 변수들의 타입은 표현식에 의해 결정됩니다.
package main import "fmt" func main() { //단一行에서 선언 및 초기화 //단축 변수 선언 사용 //다양한 타입의 변수 myvariable1, myvariable2, myvariable3 := 800, "w3codebox 47.56 // 변수 값과 타입 출력 fmt.Printf("myvariable1의 값은 : %d\n", myvariable1) fmt.Printf("myvariable1의 타입은 : %T\n", myvariable1) fmt.Printf("\nmyvariable2의 값은 : %s\n", myvariable2) fmt.Printf("myvariable2의 타입은 : %T\n", myvariable2) fmt.Printf("\nmyvariable3의 값은 : %f\n", myvariable3) fmt.Printf("myvariable3의 타입은 : %T\n", myvariable3) }
출력:
myvariable1의 값은 : 800 myvariable1의 타입은 : int myvariable2의 값은 : w3codebox myvariable2의 타입은 : string myvariable3의 값은 : 47.560000 myvariable3의 타입은 : float64