한 눈에 끝내는 고랭 기초
    • 01
      시작하기에 앞서
    • 강의대상
      Go란?
      실습 환경 구축 - 구름IDE
      Hello goorm! 출력해보기
    • 02
      변수와 상수
    • 콘솔 출력 함수의 기본
      변수의 선언과 초기화
      상수의 선언과 초기화
      간단한 덧셈
      잘못된 신상정보
    • 03
      연산자
    • 연산자 종류
      연산자 우선순위
      콘솔 입력 함수의 기본
      간단한 덧셈과 곱셈
      몫과 나머지
    • 04
      자료형
    • 자료형의 종류와 특징
      문자열의 표현
      자료형의 변환
      강제 형 변환
    • 05
      콘솔 출력과 입력 함수
    • 콘솔 출력 함수(Print)
      콘솔 입력 함수(Scan)
      정돈된 표
      신상정보 입력과 출력
    • 06
      반복문 - for
    • 오로지 for
      구구단
      빛나는 이등변삼각형
    • 07
      조건문 - if/else
    • 조건에 따른 실행과 흐름 분기
      7과 9의 배수
      두 수의 차
    • 08
      분기문 - switch
    • swich문에 의한 선택적 실행
      안좋은 계산기
    • 09
      제어문
    • break, continue, goto문
      구구단2
      두 수를 더하면 99
    • 10
      컬렉션
    • 배열(Array)
      슬라이스(Slice)
      맵(Map)
      역행렬
      가장 긴 이름
      중간고사 평균 점수
    • 11
      함수
    • Go언어에서의 함수
      전역변수와 지역변수
      매개변수
      반환값(리턴값)
      익명 함수
      오름차순 정렬
      아이패드를 사주는 조건
      역학적 에너지
    • 12
      클로저
    • 외부 변수 접근 : 클로저
      동전 정리
    • 13
      구조체와 메소드
    • 구조체
      메소드
      성적 저장 프로그램
      역학적 에너지2
    • 14
      인터페이스(interface)
    • 메소드의 집합 인터페이스
      직육면체와 원기둥
    • 15
      defer와 panic()
    • 지연 처리 defer
      종료하는 panic(), 복구하는 recover()
      엘리베이터
      중간고사 평균 점수2
    • 16
      에러 처리
    • 에러 처리의 기본
      에러 출력 및 처리
      중간고사 평균 점수3
    • 17
      고루틴(Goroutine)
    • 비동기 프로세스의 기본
      고루틴의 활용
      고루틴 실습
    • 18
      채널(Channel)
    • 고루틴의 데이터 통로 : 채널
      비동기 채널과 버퍼
      동기 채널
      채널 닫기
      송신 전용, 수신 전용 채널
      채널 select문
      고루틴 실습2
      메시지 전송
      동기 채널 실습
      비동기 채널 실습
    • 19
      패키지(package)
    • 패키지의 개념
    • 20
      실전 프로젝트 - 마일리지 상점
    • 프로젝트를 시작하기 앞서
      실습모드에서 실습
      마일리지 상점의 주요 기능
      필수 구조체와 매인 메뉴
      잔여 수량, 잔여 포인트 구현
    • 21
      실전 프로젝트 - 주문하기, 장바구니 담기
    • 구매 구현(1)
      구매 구현(2)
      장바구니에 담기
      장바구니 확인(1)
      장바구니 확인(2)
    • 22
      실전 프로젝트 - 고루틴으로 배송하기
    • 배송 상태 확인(1)
      배송 상태 확인(2)
      배송 상태 확인(3)
      최종 코드
    상수의 선언과 초기화
    02 변수와 상수
    상수의 선언과 초기화

    지난 강의에서 변수를 선언하고 초기화 하는 것에 대해 배웠습니다. 아시다시피 변수는 초기화된 이후에 다른 값으로 수정될 수 있습니다. 그런데 '상수'는 한 번 초기화되면 그 후에 수정될 수 없습니다. 상수는 다른 언어들과 동일하게 const 키워드로 선언하고 초기화합니다. 선언 형태는 const 상수이름 상수형입니다. 상수형은 생략 가능하며 함수 밖에서도 동일한 용법이 적용됩니다.

    • 한번 선언 및 초기화되면 수정할 수 없기 때문에 꼭 선언과 동시에 초기화를 해야합니다. 선언만 한다면 에러가 발생합니다.
    • 초기화 후에 사용하지 않아도 에러가 발생하지 않습니다. 변수와 다르게 상수는 명시하는 것 자체에 의미가 있기 때문입니다.
    • 상수는 var 키워드 대신에 const 키워드를 사용하고 생략할 수 없기 때문에 자연스럽게 := 용법을 사용할 수 없습니다. 


    아래 코드를 바로 실행해보세요.

    go
    Check out the results of running the code !

    그리고 상수는 변수와 다르게 괄호()를 이용해 여러 개의 값을 묶어서 초기화할 수 있으며, 다른 형이더라도 초기화할 수 있습니다. 

    go
    • 괄호로 같이 묶여있는 상수들은 다른 형으로 초기화될 수 있습니다.
    • 괄호 시작(과 괄호 마지막)의 위치는 상관 없지만 각 상수들은 개행하여 초기화해야 합니다. 개행하지 않고 초기화하면 에러가 발생합니다.
    • 각 상수들 사이에 콤마(,)를 입력하면 안 됩니다. 입력하면 에러가 발생합니다.
    • 묶어서 선언된 상수들 중에서 첫번째 값은 꼭 선언되어야 합니다. 선언되지 않은 값은 바로 전 상수의 값을 가집니다.
    • iota라는 식별자를 값으로 초기화하면 그 후에 초기화하지 않고 이어지는 상수들은 순서(index)가 값으로 저장됩니다.

    괄호 하나 사용했을 뿐인데 헷갈리는 용법이 많습니다.


    아래 괄호를 사용한 상수 선언 예시 코드를 바로 실행해보세요. 

    go
    Check out the results of running the code !
    Q&A