한 눈에 끝내는 고랭 기초
    • 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)
      최종 코드
    필수 구조체와 매인 메뉴
    20 실전 프로젝트 - 마일리지 상점
    필수 구조체와 매인 메뉴

    기본적인 메소드와 매인 메뉴 선택창을 구현합니다. 메소드는 어떤 객체의 정보를 담고 생성하는 기능을 합니다. 마일리지 상점에 필수적으로 등장하는 메소드는 두 개입니다. 물품들의 정보를 필드값으로 갖는 item 메소드와 사용자의 정보를 필드값으로 갖는 buyer 메소드입니다. 

    • item 메소드 : 이름(string), 가격(int), 수량(int)
    • buyer 메소드 : 포인트(int), 장바구니목록(map)

    눈여겨 봐야할 필드값은 장바구니목록입니다. 장바구니 목록은 사용자가 장바구니에 담은 물품의 이름(string)과 수량(int)을 맵형식으로 저장합니다. 따라서 생성자도 만드는 것이 좋습니다. 생성자는 buyer객체를 만듦과 동시에 point를 1000000으로 초기화하고 map을 생성하도록 만듭니다. 이때, item은 총 5개이므로 구조체 슬라이스를 생성합니다. 그리고 생성자로 buyer 객체도 생성합니다.


    아래 구조체와 생성자 예시를 볼 수 있습니다.

    go
    그리고 main() 함수 안에서 items 슬라이스와 buyer 객체를 생성자를 이용해 생성하고 item들의 정보를 입력해 객체들을 생성합니다.
    go

    그리고 메뉴를 for문으로 만듭니다. 메뉴는 프로그램을 종료하기 전까지 계속 반복하기 때문에 for문을 이용하는 것입니다. 메뉴는

    1. 구매
    2. 잔여 수량 확인
    3. 잔여 마일리지 확인
    4. 배송 상태 확인
    5. 장바구니 확인
    6. 프로그램 종료
    7. 실행할 기능을 입력하시오:

    와 같습니다. 그리고 int형 변수인 menu를 이용해 사용자에게 메뉴 번호를 입력받고 해당 기능을 실행합니다. 번호를 입력하면 각 번호에 맞는 기능이 실행됩니다. 잘못된 번호를 입력하면 다시 처음으로 돌아갑니다.

    각 메뉴 마지막은 "엔터를 입력하면 메뉴 화면으로 돌아갑니다."를 출력하고 엔터를 입력하면 처음으로 돌아가게 합니다. 프로그램 종료는 return문을 이용합니다.

    go

    이를 모두 완성하면 메뉴화면 구성은 완료한 것입니다. 기능은 없지만 번호를 입력할 수 있고 프로그램 종료를 선택하기 전까지 계속 반복되어야 합니다.

    질문하기