3장. 변수
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
지금까지는 리터럴 값(숫자, 문자열 등)을 사용하는 프로그램만 보았지만, 이러한 프로그램은 특별히 유용하지 않습니다. 진정으로 유용한 프로그램을 만들려면 변수와 제어 흐름문이라는 두 가지 새로운 개념에 대해 논의해야 합니다. 이 장에서는 변수에 대해 더 자세히 살펴보겠습니다(제어 흐름 문에 대해서는 4장에서 설명하겠습니다).
변수는 특정 유형과 연관된 이름을 가진 저장 위치입니다. 1장에서 작성한 프로그램을 변수를 사용하도록 변경해 보겠습니다:
packagemainimport"fmt"funcmain(){varxstring="Hello, World"fmt.Println(x)}
원래 프로그램의 문자열 리터럴이 이 프로그램에도 여전히 나타나지만 Println 함수로 직접 보내는 대신 변수에 할당합니다. Go에서 변수는 먼저 var 키워드를 사용한 다음 변수 이름(x)과 유형(string)을 지정하고 마지막으로 변수에 값을 할당(Hello, World)하면 생성됩니다. 값을 할당하는 것은 선택 사항이므로 다음과 같이 두 개의 문을 사용할 수 있습니다:
packagemainimport"fmt"funcmain(){varxstringx="Hello, World"fmt.Println(x)}
Go의 변수는 대수학의 변수와 비슷하지만 몇 가지 미묘한 차이점이 있습니다. 첫째, = 기호를 볼 때 우리는 이를 "x 은 Hello, World 문자열과 같습니다."라고 읽는 경향이 있습니다. 우리 프로그램을 그렇게 읽는 것이 잘못된 것은 아니지만, "x 는 Hello, World문자열을 가져옵니다." 또는 "x 는 Hello, World 문자열을 할당받습니다."라고 읽는 것이 더 좋습니다. 이름에서 알 수 있듯이 변수는 프로그램의 수명 기간 동안 값이 변경될 수 있기 때문에 이러한 구분이 중요합니다. 다음을 실행해 보세요:
packagemainimport"fmt"funcmain(){varxstringx="first"fmt.Println(x)x="second"fmt.Println(x)}
실제로 이렇게 할 수도 있습니다:
varxstringx="first "fmt.Println(x)x=x+"second"fmt.Println(x)
이 프로그램은 대수 정리처럼 읽으면 말도 안 되는 프로그램입니다. 하지만 프로그램을 명령어 목록으로 주의 깊게 읽으면 이해가 됩니다. x = x + "second" 을 볼 때 "변수 x 값과 문자열 리터럴 second의 연결을 변수 x 에 할당한다."라고 읽어야 합니다. = 의 오른쪽이 먼저 수행되고 그 결과가 = 의 왼쪽에 할당됩니다.
x = x + y 형식은 프로그래밍에서 매우 일반적이어서 Go에는 특별한 할당 문이 있습니다: +=. x = x + "second" 을 x += "second" ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access