15. 숫자 맞추기 게임 만들기
package main import ( "bufio" "fmt" "math/rand" "os" "time" ) func main() { r := rand.New(rand.NewSource(time.Now().UnixNano())) reader := bufio.NewReader(os.Stdin) answer := r.Intn(1000...
package main import ( "bufio" "fmt" "math/rand" "os" "time" ) func main() { r := rand.New(rand.NewSource(time.Now().UnixNano())) reader := bufio.NewReader(os.Stdin) answer := r.Intn(1000...
✅ 1. 패키지 Go 언어에서 코드를 묶는 가장 큰 단위 프로그램은 하나의 main 패캐지(필수 요소)와 여러 외부 패키지(선택 요소)로 구성된다 1.1 메인 패키지 특별한 패키지로, 프로그램 시작점을 포함하는 패키지다 프로그램이 실행되면 운영체제는 프로그램을 메모리에 로드하고 프로그램 시작점부터 한 줄씩 코드를 실행하는데, 이 ...
✅ 1. 문자열 문자열의 타입명은 string이며 큰따옴표 또는 백쿼트(그레이브)로 묶어서 표시한다 백쿼트로 묶으면 특수 문자가 동작하지 않으며 여러 줄에 걸쳐 문자열을 쓸 수 있다 1.1 UTF-8 문자코드 Go는 UTF-8을 표준 문자코드로 사용한다 자주 사용되는 영문자, 숫자, 일부 특수문자는 1바이트로 표현하고 그 외 다른...
✅ 1. 포인터 메모리 주소를 값으로 가지는 타입 var a int = 10 var p1 *int p1 = &a // a의 메모리 주소를 포인터 변수 p에 대입 *p1 = 20 // 포인터 변수가 가리키는 a의 값을 20으로 변경 var p2 *int = &a fmt.Printf("p1 == p2...
✅ 1. 구조체 선언 type Student struct { Name string Class int No int Score float64 } type 키워드로 사용자 정의 타입임을 정의한다 타입명의 첫 번째 글자가 대문자면 패키지 외부로 공개되는 타입이다 타입 종류인 struct를 적는다 ✅ 2. 구조체 변수 초기화 2.1 초...
✅ 1. 배열 선언 원소의 개수, 원소 타입으로 선언하며 별도의 초기값을 지정하지 않는 경우 타입 기본값으로 초기화된다 var nums [5]int // [0, 0, 0, 0, 0] var temps [3]float64 = [3]float64{24.3, 11.1} // [24.3, 11.1, 0.0] 인덱...
✅ 1. for문 형태 1.1 기본 형태 // 초기문; 조건문; 후처리 for i := 0; i < 10; i++ { fmt.Println(i, ", ") } 1.2 초기문, 조건문 생략 i := 0 for true { // true 생략 가능 time.Sleep(time.Second) i++ fmt....
✅ 1. switch문 형태 1.1 한 번에 여러 값 비교 case문에 , 로 조건문을 넣는 경우 OR로 동작한다 day := "thursday" switch day { case "saturday", "sunday": fmt.Println("쉬는 날~") default: fmt.Println("일하는 날~") } 1....
✅ 1. if문 if light == "green" { fmt.Println("길을 건넌다") } else { fmt.Println("대기한다") } ✅ 2. 쇼트서킷 && 연산은 좌변이 false라면 우변을 검사하지 않고 false로 처리한다 || 연산은 좌변이 true라면 우변을 검사하지 않고 true로 처리한다 ...
✅ 1. 상수 선언 상수로 사용 가능한 타입 불리언, 룬(rune), 정수, 실수, 복소수, 문자열 const 키워드를 이용하여 선언한다 const ConstValue int = 10 첫 글자가 대문자이고 함수 외부에 있는 상수는 패키지 외부로 공개된다 상수는 한 ...