Programming/Golang

[Golang] 변수와 상수

devssun 2019. 9. 27. 23:36
728x90
반응형

변수와 상수

1) 변수는 뭘까요?

  • '변하는 수'를 줄여 변수? 반은 맞고, 반은 틀립니다. 변수변할 수 있는 데이터 를 말합니다
  • 변수에는 숫자 뿐 아니라 문자, 데이터 등 다양한 정보를 넣을 수 있습니다

2) 변수. 왜 써야 하나요?

Hello World처럼 단순 출력하는 프로그램이 아닌 이상, 프로그램에서 어떤 처리를 하려면 데이터를 저장할 공간이 필요합니다
예시로 계산기 프로그램을 만든다면 두 개의 숫자를 저장할 변수가 필요합니다

3) 변수 사용법

변수를 사용한 코드를 작성해봅시다
변수는 다양한 방법으로 선언 및 초기화를 할 수 있습니다. 아래 예제를 확인해보세요!

    package main

    import "fmt"

    func main() {
        // 1. string 변수 선언
        var text string

        // 2. 선언과 동시에 초기화하기
        var text2 string = "123"

        // 3. 타입을 지정하지 않고 초기화하기
        var text3 = "Hello"

        // 4. := 연산자를 사용하여 var 생략하기
        text4 := "World"

        // 5. 값 변경하기
        text2 = "456"

        // 6. 변수 여러개 한번에 정의하기
        var i, j, k int

        // 7. 복수 변수 한번에 초기화하기 (값 입력한 순서대로 초기화)
        var i, j, k int = 1, 2, 3

        fmt.Println(text + text2 + text3 + text4)
        fmt.Println(i + j + k)
        fmt.Println(a + b + c)
    }

    // 변수명 짓기 - 이런 건 안돼요!

    func main() {
        // 1. 변수명은 문자와 숫자로만
        // 2. 단, 숫자로 시작할 수 없음 (문자 혹은 _ 로 시작)
        // 3. 예약어, 키워드는 변수명으로 사용할 수 없다
        // 3번 https://thebook.io/006806/ch02/02/02/

        // 가장 중요한 것
        // 변수명은 의미있게 짓기
        // 변수명만 봐도 이 변수가 어떤 역할을 할 지 알 수 있도록 만들어야 좋은 변수랍니다
        // 변수명 짓기 - https://www.curioustore.com/#!/
    }

4) 상수 (constant)

상수란? 변하지 않고 항상 같은 값을 가지는 수를 말합니다
상수로 선언된 값은 변경할 수 없습니다.

상수 선언 키워드는 const 입니다 아래와 같이 선언합니다
값의 변경이 불가능하기 때문에 반드시 선언할 때 초기값을 지정해야합니다

    package main

    import "fmt"

    func main() {
        // const 상수명 타입 = 초기값
        const text string = "Q"

        fmt.Println(text)

        text = 4 // 에러 발생!, 상수는 값을 변경할 수 없습니다
    }

** = 는 같다는 뜻 아닌가요❓

= 기호를 수학에서는 같다 의 의미로 사용했지만, golang에서는 대입의 의미로 사용합니다.
a = b 라고 작성하면, a와 b가 같다. 가 아닌 a에 b의 값을 대입한다. 로 사용합니다.

값이 같은 지를 비교하려면 == 로 부등호를 두개 붙여 사용합니다

반응형

'Programming > Golang' 카테고리의 다른 글

[Golang] 자료형 2 - 배열  (0) 2019.10.03
[Golang] 자료형 1 - 숫자, 문자열, boolean  (0) 2019.09.30
[Golang] Hello, World! 톺아보기  (0) 2019.09.25
[Golang] Go 환경설정 (mac OS X ver.)  (0) 2019.09.23
[Golang] Introduce GO  (0) 2019.09.21