
변수 : 값을 저장하는 메모리 상의 공간. / 상수 : 변하지 않는 값을 표현할 때 사용

산술연산자, 비교연산자, 대입연산자, 논리연산자, 증감연산자, 비트연산자, 시프트연산자, 연산자 우선순위

배열, 다중배열

슬라이스, append, cap, copy, 배열 슬라이싱, 슬라이스 슬라이싱

키와 값 형태로 데이터를 한쌍으로 저장하는 자료구조 맵은 순서가 보장되지 않음

if문 / swith문 (if문과 다르게 조건을 적지 않고, 변수로 적음case 키워드로 조건을 적음)

조건을 만족할때까지 코드를 반복

블록에는 다양한 속성이 들어가는데, 관련 속성을 묶어서 관리하기 위해 구조체를 사용

다른 어떤 언어들 처럼 자주 사용되는 코드를 묶어서 함수를 만든다. 그러면 같은 기능을 매번 다시 만들 필요 없이 재사용할 수 있다.함수란 특별한 목적의 작업을 수행하는 코드 묶음이다. 일정 범위의 코드를 묶어서 함수를 만들면 같은 코드를 여러 번 작성하지 않고 한 번

메서드 메서드는 함수의 일종 Go언어에 클래스가 없기때문에 구조체 밖에서 메서드를 지정 구조체 밖에 메소드를 정의할 때 리시버라는 기능 사용 함수와는 다르게 리시버를 넣고, 리시버를 통해 호출할 수 있음. 리시버 구조체 밖에 메서드가 있어서 메서드가 어느 구조체에 속

인터페이스를 이용하면 메서드 구현을 포함한 구체화된 객체가 아닌 추상화된 객체로 상호작용 할 수 있음.인터페이스도 구조체처럼 타입 중 하나이기 때문에 type을 써줘야 함이 말은 인터페이스 변수 선언이 가능하고 변수의 값으로 사용할 수 있다는 뜻🔎 인터페이스 안에 메

GO프로그램은 패키지로 구성되고, 패키지는 GO프로그램 소스 파일들의 묶음기본 패키지는 GO설치시에 GOROOT에 자동 설치함수명을 대문자로 쓸 경우 외부 호출이 가능하지만, 소문자로 쓸 경우 외부 호출 불가프로그램 시작점을 포함한 패키지. 프로그램이 실행되면 대부분

고루틴 고루틴은 GO언어에서 관리하는 경량 스레드. 함수나 명령을 동시에 수행할 때 사용 여러 고루틴을 갖는 프로그램을 코딩하는 것을 동시성 프로그래밍이라고 함 고루틴은 경량 스레드로 함수나 명령을 동시에 실행할 때 사용하는데, main()함수 역시 고루틴에 의해서 실

채널(Channel)과 컨택스트(Context)는 GO 언어에서 동시성 프로그래밍을 도와주는 기능채널 채널은 고루틴 간 메시지를 전달하는 메시지 큐채널을 사용하면 뮤텍스 없이 동시성 프로그래밍이 가능컨텍스트컨텍스트는 고루틴에 작업을 요청할 때 작업 취소나 작업 시간 등

채널(Channel)과 컨택스트(Context)는 GO 언어에서 동시성 프로그래밍을 도와주는 기능채널채널은 고루틴 간 메시지를 전달하는 메시지 큐채널을 사용하면 뮤텍스 없이 동시성 프로그래밍이 가능컨텍스트컨텍스트는 고루틴에 작업을 요청할 때 작업 취소나 작업 시간 등을

‼️ 들어가기전에채널은 고루틴 간 메시지를 전달하는 메시지 큐이다.채널을 이용해서 뮤텍스 없이 동시성 프로그래밍을 할 수 있다.생산자 소비자 패턴은 동시성 프로그램에서 많이 사용되고, 채널을 이용해서 구현할 수 있다.컨텍스트는 작업자에게 일을 지시할 때 사용하는 작업

Go에서 바이너리(Binary)란 Go 프로그램이 실행 가능한 독립적인 기계어 파일로 컴파일 된 결과물을 의미한다.Go는 C/C++처럼 컴파일 언어로서, 다른 언어들과 달리 실행에 필요한 모든 요소를 포함한 단일 바이너리(single binary) 파일을 생성하기 때문

Server 구조체 = Go 표준 HTTP 서버 핵심 엔진핸들러(Handler)만 교체하면 JSON-RPC, REST 등 다양한 서버 구현 가능Timeout, TLS, HTTP2, 연결 상태, 에러 로깅 등 거의 모든 서버 동작 옵션 제공내부 필드(mu, activeC

앞에서 "핵심 확장 포인트 = Handler"JSON-RPC, CORS, Middleware 등은 Handler 레이어에서 구현한다고 했는데 이번엔 그럼 Server.go에 이어서 handler에 대해 알아보자.rpc/server.go을 보면 HTTP 서버/연결 관리(