본문 바로가기

전체 글

(25)
Up Down Counting 게임 만들기(결과물) 요구사항 1 ~ 100 사이의 난수를 생성합니다. "1 ~ 100 사이의 숫자가 랜덤 생성되었습니다." "이제부터 숫자를 추측해주시길 바랍니다." 라는 출력 문구를 띄웁니다. 사용자가 입력할 수 있는 문구를 띄운 후, 입력 값을 저장합니다. "남은 횟수 -> [남은 횟수 표시]" "사용자 추측 숫자 : " [남은 횟수 표시]는 for문을 이용하여 표현합니다. 입력 후 출력 문구 사용자가 추측한 숫자가 목표값보다 낮다면 -> "목표값은 입력 숫자보다 높은 숫자입니다." 사용자가 추측한 숫자가 목표값보다 높다면 -> "목표값은 입력 숫자보다 낮은 숫자입니다." 결과물 추측에 성공했다면 -> "당신이 이겼어요!" 추측에 실패했다면 -> "아쉽네요ㅠㅠ 정답은 [정답값]입니다." 코드 package main im..
for 문을 이용해 Counting 기능 구현하기 본 포스팅을 하게된 목적은 기존 언어들과는 다른 Go 언어만의 특징을 기술하고자 시작하게 되었습니다. 따라서, for문은 기존 C/C++과 다른 것이 없기 때문에 단순 구현한 내용에 대해서만 기술하겠습니다. (단, Go 언어는 for문을 작성할 때 '(', ')' 괄호를 사용할 필요가 없습니다. go fmt를 실행하면 모든 괄호는 사라질 것입니다.) 앞전에 설명드린 포스팅 내용을 for문 안에 삽입하여 응용할 것입니다. https://devhsops.tistory.com/8 Up Down Counting Game 키보드 입력하기(정수값 입력하기) Up Down Counting 게임을 시작하기 앞서 사용자가 키보드에 어떻게 입력할지에 대해 설명하겠습니다. 위 그림은 사용자가 input을 어떻게 하게될지에 ..
Up Down Counting Game 키보드 입력하기(정수값 입력하기) Up Down Counting 게임을 시작하기 앞서 사용자가 키보드에 어떻게 입력할지에 대해 설명하겠습니다. 위 그림은 사용자가 input을 어떻게 하게될지에 대해 보여주는 결과물입니다. 위 그림과 같이 입력하기 위해 어떻게 코드를 구성해야할지 결과부터 보여드리겠습니다. fmt.Print("사용자 추측 숫자 : ") reader := bufio.NewReader(os.Stdin) input, err := reader.ReadString('\n') if err != nil { log.Fatal(err) } input = strings.TrimSpace(input) userNum, err := strconv.Atoi(input) if err != nil { log.Fatal(err) } 해당 코드를 분석해보..
난수 생성하기 난수를 생성하기 전 알아야할 내용에 대해 이야기해보겠습니다. 패키지명과 임포트 경로 난수 생성 원리 Seed란? 패키지명과 임포트 경로 난수를 생성하기 위해 import 문에 "math/rand"라는 이름으로 rand 패키지를 가져와야합니다. 예시) number := rand.Intn(100) + 1 그러나, 저는 왜 math/rand.Intn()이 아니라 rand.Intn()인지에 대한 의문이 생겼습니다. 직접 math/rand.Intn()을 작성해본 결과 컴파일 에러가 발생한 것을 확인할 수 있었습니다. 그렇다면 왜 math/rand.Intn()이 아니라, rand.Intn()일까요? -> Go 언어에서 패키지를 import 하기위해서 "fmt"와 같은 문구를 작성하여 사용합니다. 그러나 이때 주의해..
Up Down Counting 게임 요구사항 1 ~ 100 사이의 난수를 생성합니다. "1 ~ 100 사이의 숫자가 랜덤 생성되었습니다." "이제부터 숫자를 추측해주시길 바랍니다." 라는 출력 문구를 띄웁니다. 사용자가 입력할 수 있는 문구를 띄운 후, 입력 값을 저장합니다. "남은 횟수 -> [남은 횟수 표시]" "사용자 추측 숫자 : " [남은 횟수 표시]는 for문을 이용하여 표현합니다. 입력 후 출력 문구 사용자가 추측한 숫자가 목표값보다 낮다면 -> "목표값은 입력 숫자보다 높은 숫자입니다." 사용자가 추측한 숫자가 목표값보다 높다면 -> "목표값은 입력 숫자보다 낮은 숫자입니다." 결과물 추측에 성공했다면 -> "당신이 이겼어요!" 추측에 실패했다면 -> "아쉽네요ㅠㅠ 정답은 [정답값]입니다." 이어서 Up Down Counting 게임..
Go 컴파일 Go 언어가 동작하는 원리는 다음과 같습니다.
Go Template Go 언어의 템플릿은 다음과 같습니다. 문자열 룬 부울 숫자 Type 변수 필자는 다른 언어들과는 다른 Go언어의 특징을 작성하도록 하겠습니다. 룬(rune) 단일 문자를 표현하기 위해 사용되는 것입니다. 마치 C언어의 아스키코드와 비슷하게 동작하는 것이라고 생각하면 됩니다. unicode 순번표를 나타내기 위한 자료형이라고 생각하면 됩니다. 이해를 돕기 위해 간단하게 설명드리자면, 아스키코드가 영어만을 고려해서 1Byte로 만들었다면 Unicode는 4Byte로 훨씬 넓은 범용성을 제공한다고 생각하시면 쉽습니다. 또한, 아스키코드의 하위호환성을 유지시켜주기 때문에 C/C++에서 아스키코드표의 값을 고려하여 코딩하였던 것과 동일하게 동작합니다. 변수 Go언어에서 변수를 선언하는 방법은 두 가지로 나뉩니다..
Go Basic Format Go를 사용하기 위한 방법은 다음과 같습니다. Go 플레이그라운드 컴퓨터에 Go 설치 필자는 2번 방법으로 Go를 설치한 후에 시작하도록 하겠습니다. 해당 그림은 Go의 기본 포맷입니다. 모든 Go 파일은 package 절로 시작합니다. (package 절) 실제 코드를 구성하기 위해서 import 문으로 패키지를 가져옵니다. (import 문) Go 프로그램은 C/C++와 같이 main 함수를 가장 먼저 호출합니다. (실제 코드) import 문으로 가져올 수 있는 패키지는 fmt 뿐만 아니라, strings, math 등이 있습니다. 해당 패키지들을 동시에 사용하기 위한 방법은 다음과 같습니다. 그러나 이때 Go는 기존의 언어들과는 다른 점이 존재합니다. 위 그림과 같이 여러개의 패키지를 가져오게 했..