Choose a default theme

You can change your theme from the menu

Go

Go는 정적 타입 검사와 컴파일을 사용하는 범용 프로그래밍 언어이다. 네트워크 프로그램과 서버, 명령줄 도구를 만드는 데 활용된다.

프로그래밍 언어 둘러보기

Go · Kotlin · Swift · PHP · Ruby

Lua · Dart · C# · R (프로그래밍 언어) · Julia

원리

고루틴과 채널로 동시 실행 작업을 표현하며 가비지 컬렉션으로 메모리를 관리한다. 패키지는 코드를 구성하는 단위이고 모듈은 의존성과 배포 버전을 관리하는 단위다.

예시

HTTP 서버에서 여러 요청을 처리하는 코드를 작성하고 go test로 패키지의 테스트를 실행할 수 있다. 고루틴 사이의 결과 전달에는 채널을 사용할 수 있다.

주의할 점

고루틴을 많이 만든다고 처리량이 항상 증가하지 않는다. 공유 상태의 경쟁, 취소 전파, 고루틴 종료 조건을 설계해야 하며 GC가 자원 누수를 모두 막아 주지는 않는다.

참고 자료