패키지에는 두 종류가 있다. 바로 main 패키지와 그 외 패키지이다. main패키지를 제외한 모든 패키지는 개발자가 직접 작성하든 go언어에서 패키지든 똑같이 취급된다. 반면에 main패키지는 컴파일러에 의해 특별히 인식된다. 컴파일러는 main 패키지를 공유 패키
고루틴은 여러 함수를 동시에 실행할 수 있는 논리적 가상스레드이다. 우리는 컴퓨터로 한 가지일만 하지 않는다. 사용자는 여러가지 프로그램을 실행하고 프로그램은 메모리(CPU)에 할당되어 처리된다. 이것을 바로 멀티 태스킹이라고 한다. CPU의 공간을 효율적으로 나눠 프
에러 처리를 하는 이유는 컴파일러가 알아차리지 못하는 프로그램상의 오류를 예방하기 위해서입니다. 따라서 반환값이 있는 함수는 에러처리를 통해 결과값과 에러값을 함께 반환해야합니다. 우리가 함수를 직접 만들고 에러 처리(논리상 예외가 있을 만한 부분을 예외 처리 )를 직
defer은 함수 앞에 쓰이는 키워드로써 특정 문장 혹시 함수를 감싸고 있는 함수 내에서 제일 나중에, 끝나기 직전에 실행하게 하는 용법이다. 자바에서는 try-finally와 비슷한 용법이다. 자바에서는 이와 같은 형식인데 go의 defer은 블록이 필요한 것도 아니
인터페이스는 메소드의 집합을 말한다. 구조체는 같은 속성의 필드들의 집합체이고, 메소드는 함수중에서도 구조체의 속성을 기능적으로 수행하는 특별한 함수이다. 메소드의 강의에서 삼각현의 넓이를 구하는 예시 코드를 공부했는데 그 코드를 기억해보면, 삼각형의 넓이를 구하기 위
구조체는 '하나 이상의 변수를 묶어서 새로운 자료형을 정의하는 custom data type'이다. Go언어에서의 구조체는 필드들의 집합체이며, 필드들의 컨데이너이다. c언어의 구조체는 객체들의 공통되는 속성과 특징에 따라 쓰인다. 예를들어 사람의 정보를 저장한다고 할
go 언어에서의 함수는 일급함수(first-class function)이기 때문에 익명 함수를 활용할 수 있다. 함수 자체를 다른 객체들과 마찬가지로 함수형으로서 매개변수롸 반환값으로 쓸 수있다. 클로저는 함수 안에서 익명 함수를 정의해서 바깥쪽 함수에 선언한 변수에도
함수 함수의 기본적인 특징 > 1. 함수 선언할 때 쓰는 키워드는 'func'이다. '반환형'이 괄호()뒤에 명시된다. 물론 '매개변수형'도 '매개변수이름'뒤에 명시된다. 함수는 패키지 안에서 정의되고 호출되는 함수가 꼭 호출되는 함수 앞에 있을 필요는 없다. '반환
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.첫째 줄에는 테스트 케이스의 개수 C가 주어진다.둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이