(구) 포스팅들 (5) 썸네일형 리스트형 Go(입력) *입력 받기* 3가지 종류의 입력이 있다. 1.Scanln: new Line(Enter)을 입력받으면 입력을 종료한다. 2.Scan: 공백, 개행 기타등등을 기점으로 입력을 저장한다. 3.Scanf: C언어처럼 첫 매게변수에 형식을 지정하여 입력 받는다. ex) ("%d, %d", ...) 모든 입력은 포인터형식을 사용하여 입력한다. GO(3) 1. Array와 Slice 배열은 자바랑 비슷한 것 같다. Array보다는 slice를 자주쓰게 될 것같다. slice는 (name) := [](type){value1...} array는 (name) := [len(values)](type){value1...} 이런 방식으로 정의 한다. append로 값을 추가 할 수 있는데 이건 값이 추가된 상태로 저장 되는게 아니라 그냥 그 값을 리턴 할 뿐이라 다시 저장할 slice에 대입해 주어야 한다. 2. Map Python의 dict와 비슷한 것 같다. (name) := map[keytype]valuetype{"key":value1...} 이런 방식으로 정의한다. 반복문에서의 순회가 가능하다. 3.Struct type (name) struct{ } 의 방식.. GO(2) 1. 반복문과 range GO에서 반복문은 for로 만든다. range를 사용하면 index와 실제 값 두가지를 반환하며 순회한다. 2. 조건문과 switch case 3. 포인터 프로세스(process)와 스레드(thread), 데드락(deadlock)과 스핀락(spinlock) 1. 왜 알고리즘을 배우나? 처음에 백준 알고리즘 사이트에서 문제푸는게 재밌어서 시작했다. https://www.acmicpc.net/ Baekjoon Online Judge Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다. www.acmicpc.net 근데 풀다보니 재미는 있는데 한계가 느껴지더라. 문제를 논리적이고 구조적으로 풀고싶었다. 2. 프로세스와 쓰레드 모든 프로그램은 각각이 단일 한 프로세스다. 그 프로세스 안에 단일한 혹은 여럿의 쓰레드가 있을 수 있다. 한 프로세스에서 여러 쓰레드는 동시에 (concurrency) 수행 되는 것 처럼 보일 수 있다. 각자의 쓰레드는 스택을 제외한 나머지 메모리 영역을 공유한다. 위의 프로세스가 여러개 있.. Go(1) 1. 왜 Go를 배우나? 그냥 새로운 걸 하고 싶었다. 학교에서 배우는 것 말고 나만 할 수 있는 무언가가. 그러던 중 관련 강의가 많이 올라왔고 이제는 공부할 수 있겠다 싶었다. 그래서 시작한다. 2. Hello world fmt.Println. Println이 대문자로 시작하는 이유는 GO의 export시스템과 관련이 있다. 첫 문자가 대문자로 시작하면 export가 자유롭고, 소문자로 시작하면 private이다. 3. 변수와 상수 변수는 var로 상수는 const로 선언한다. c나 Java처럼 자료형을 선언해 주어야한다. 여타 언어들이 그렇듯 const로 선언한 값을 바꾸는 것은 error을 발생시킨다. var (var_name) (type) = 의 기본적인 선언 형태를 갖고 있으나 (var_nam.. 이전 1 다음