한 눈에 끝내는 고랭 기초
    • 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 실전 프로젝트 - 마일리지 상점
    마일리지 상점의 주요 기능

    인터넷으로 쇼핑을 해보지 않은 분은 없을 것입니다. 실전 프로젝트로 인터넷 상점의 주요 기능을 구현한 '마일리지 상점'을 제작해봅니다.

    프로젝트를 시작하기 앞서, 코딩에는 정답이 없습니다. 코드라는 것은 어떻게 작성하느냐에 따라 얼마든지 다른 방법으로 만들 수 있습니다. 제가 틀릴 수도 있고 다른 사람이 맞을 수도 있습니다. 그렇기 때문에 너무 틀에 갖혀 생각하지 않고 여러가지 가능성을 염두해두고 실습해보길 바랍니다.


    마일리지 상점은 구매자에게 1,000,000 포인트를 지급하고 포인트 한도 내에서 물품을 구입하는 프로그램입니다. 기능으로는 

    1. 구매
    2. 잔여 수량 확인
    3. 잔여 마일리지 확인
    4. 배송 상태 확인
    5. 장바구니 확인
    6. 프로그램 종료

    가 있습니다. 그리고 구입할 수 있는 물품은 총 5개가 있습니다.

    물품포인트수량
    텀블러10000

    30

    롱패딩50000020
    투미 백팩40000020
    나이키 운동화15000050
    빼빼로1200500

    사용자는 지급된 포인트를 사용해 위 물품을 구입할 수 있습니다. 물론, 자신만의 프로그램을 만들기 위해 항목들을 변경해도 괜찮습니다. 그런데 잘 모르겠다면 기본 예시를 따라가는 것이 좋습니다.


    구매


    마일리지 상점의 핵심 기능이라는 것은 설명하지 않아도 잘 알 것입니다. 구매 기능을 실행하면 저장한 물품들의 정보가 출력됩니다. 구입하고싶은 물품을 선택하면 구입할 수량을 입력하는데, 잔여 수량보다 큰 수를 입력하거나 가지고있는 포인트보다 크면 주문이 불가능합니다. 또한, 잘못된 수를 입력해도 주문이 불가능합니다. 

    구입할 수 있는 적당한 수량을 입력했다면 바로 주문할지, 장바구니에 담을지 선택합니다. 바로 주문을 하면 주문이 접수되고 배송이 시작됩니다. 그런데 배송 가능 한도(5회)를 초과하면 주문이 불가능합니다. 배송 가능 한도는 강의에서 따로 설명하겠습니다. 그리고 장바구니에 담으면 장바구니에 품목이 저장됩니다.


    잔여 수량 확인


    물품의 구입 가능한 수량인 잔여 수량을 나타냅니다. 수량은 물품을 구입해야만 소모됩니다. 물품을 장바구니에 추가하면 마일리지가 소모되지 않습니다.


    잔여 마일리지 확인


    물품을 구입할 수 있는 잔여 마일리지를 나타냅니다.  마일리지는 물품을 구입해야만 소모됩니다. 물품을 장바구니에 추가하면 마일리지가 소모되지 않습니다.


    배송 상태 확인


    물품을 구매하면 배송이 시작됩니다. 배송은 주문후 10초동안 "주문접수", 30초동안 "배송중", 10초 동안 "배송완료" 상태가 됩니다. 최대 5개의 주문을 할 수 있습니다. 배송이 완료되면(배송완료 상태가 끝나면) 배송 가능 목록이 한 자리가 생깁니다.


    장바구니 확인


    장바구니에 추가한 물품들을 확인합니다. 장바구니의 모든 물품이 잔여 수량과 마일리지 한계에 충족한다면 주문할 수 있습니다.


    프로그램 종료


    프로그램은 프로그램 종료 메뉴를 선택해야 종료할 수 있습니다.


    질문하기