Go 문서

1 개요

Crystal Clear action info.png 작성 중인 문서입니다.
Documentation
문서

https://go.dev/doc/


Go 프로그래밍 언어는 프로그래머의 생산성을 높이기 위한 오픈 소스 프로젝트입니다.

Go는 표현력 있고 간결하며 깔끔하고 효율적입니다. 동시성 메커니즘 덕분에 멀티코어와 네트워크 머신을 최대한 활용하는 프로그램을 쉽게 작성할 수 있고, 새로운 타입 시스템을 통해 유연하고 모듈식 프로그램 구축이 가능합니다. Go는 머신 코드로 빠르게 컴파일되지만 가비지 수집의 편리함과 런타임 리플렉션의 힘을 가지고 있습니다. 빠르고 정적으로 타이핑되고 컴파일된 언어로, 동적으로 타이핑되고 인터프리터 언어처럼 느껴집니다.

2 시작하기

Go 설치하기

Go를 다운로드하고 설치하는 방법에 대한 지침입니다.

튜토리얼: 시작하기

Hello, World 튜토리얼로 시작하세요. Go 코드, 도구, 패키지 및 모듈에 대해 조금 배웁니다.

튜토리얼: 모듈 생성

함수, 오류 처리, 배열, 맵, 단위 테스트 및 컴파일을 소개하는 짧은 주제의 튜토리얼입니다.

튜토리얼: 다중 모듈 작업공간 시작하기

Go에서 다중 모듈 작업 공간을 생성하고 사용하는 기본 사항을 소개합니다. 다중 모듈 작업 공간은 여러 모듈에서 변경 작업을 할 때 유용합니다.

튜토리얼: Go와 Gin을 사용하여 RESTful API 개발하기

Go와 Gin 웹 프레임워크를 사용하여 RESTful 웹 서비스 API를 작성하는 기본 사항을 소개합니다.

튜토리얼: 제네릭 시작하기

제네릭을 사용하면 호출 코드가 제공하는 유형 집합과 함께 작동하도록 작성된 함수나 유형을 선언하고 사용할 수 있습니다.

튜토리얼: 퍼징 시작하기

퍼징을 통해 테스트에 입력을 생성하여 놓칠 수 있는 엣지 케이스와 보안 문제를 잡아낼 수 있습니다.

웹 애플리케이션 작성하기

간단한 웹 애플리케이션을 작성합니다.

Go 코드 작성 방법

이 문서는 모듈 내부에서 간단한 Go 패키지 세트를 개발하는 방법을 설명하고, go 명령어를 사용하여 패키지를 빌드하고 테스트하는 방법을 보여줍니다.

Go 투어

네 부분으로 구성된 Go에 대한 대화형 소개입니다. 첫 번째 부분은 기본 구문과 데이터 구조를 다루고, 두 번째 부분은 메소드와 인터페이스를 논의하며, 세 번째 부분은 제네릭에 대해 설명하고, 네 번째 부분은 Go의 동시성 원리를 소개합니다. 각 섹션은 배운 내용을 연습할 수 있는 몇 가지 연습 문제로 마무리됩니다. 온라인으로 투어를 하거나 다음 명령어로 로컬에 설치할 수 있습니다:

$ go install golang.org/x/website/tour@latest

이 명령어는 투어 바이너리를 GOPATH의 bin 디렉토리에 배치합니다.

3 Go 사용과 이해

효과적인 Go

명확하고 관용적인 Go 코드를 작성하기 위한 팁을 제공하는 문서입니다. 새로운 Go 프로그래머라면 꼭 읽어야 할 문서로, 투어와 언어 명세서를 보완합니다. 투어와 언어 명세서를 먼저 읽어야 합니다.

자주 묻는 질문 (FAQ)

Go에 대한 일반적인 질문에 대한 답변을 제공합니다.

편집기 플러그인 및 IDE

Go 지원과 함께 자주 사용되는 편집기 플러그인과 IDE를 요약한 문서입니다.

진단

Go 프로그램의 문제를 진단하기 위한 도구와 방법론을 요약합니다.

Go 가비지 컬렉터 가이드

Go가 메모리를 관리하는 방법과 이를 최대한 활용하는 방법을 설명하는 문서입니다.

의존성 관리

코드에서 외부 패키지를 사용할 때, 그 패키지들(모듈로 배포됨)이 의존성이 됩니다.

퍼징

Go 퍼징에 대한 메인 문서 페이지입니다.

Go 애플리케이션의 커버리지

Go 애플리케이션의 커버리지 테스트에 대한 메인 문서 페이지입니다.

프로파일에 따른 최적화

Go 애플리케이션의 프로파일에 따른 최적화(PGO)에 대한 메인 문서 페이지입니다.

4 레퍼런스

패키지 문서

Go 표준 라이브러리에 대한 문서.

명령어 문서

Go 도구에 대한 문서.

언어 사양

공식 Go 언어 사양.

Go 모듈 레퍼런스

Go의 의존성 관리 시스템에 대한 자세한 참조 매뉴얼.

go.mod 파일 레퍼런스

go.mod 파일에 포함된 지시어에 대한 레퍼런스.

Go 메모리 모델

하나의 고루틴에서 변수에 대한 읽기가 다른 고루틴에서 생성된 값을 관측할 수 있는 조건을 명시한 문서.

기여 가이드

Go에 기여하는 방법에 대한 가이드.

릴리스 이력

Go 릴리스 간의 변경사항 요약.

5 데이터베이스 접근

튜토리얼: 관계형 데이터베이스 접근하기

Go와 표준 라이브러리의 database/sql 패키지를 사용하여 관계형 데이터베이스에 접근하는 기본 사항을 소개합니다.

관계형 데이터베이스 접근

Go의 데이터 접근 기능에 대한 개요입니다.

데이터베이스 핸들 열기

Go 데이터베이스 핸들을 사용하여 데이터베이스 작업을 실행할 수 있습니다. 데이터베이스 연결 속성으로 핸들을 열면 핸들이 연결 풀을 관리하여 대신 연결을 처리합니다.

데이터를 반환하지 않는 SQL 문 실행하기

SQL INSERT, UPDATE, DELETE와 같이 데이터베이스를 변경할 수 있는 SQL 작업을 위해 Exec 메소드를 사용합니다.

데이터 쿼리하기

쿼리에서 데이터를 반환하는 SELECT 문을 위해 Query 또는 QueryRow 메소드를 사용합니다.

프리페어드 문 사용하기

반복 사용을 위해 준비된 문을 정의하면, 데이터베이스 작업을 수행할 때마다 문을 다시 생성하는 오버헤드를 피할 수 있어 코드 실행이 조금 더 빨라질 수 있습니다.

트랜잭션 실행하기

sql.TxCommitRollback을 포함한 트랜잭션 관련 메소드뿐만 아니라 일반적인 데이터베이스 작업을 수행하는 데 사용하는 메소드를 내보냅니다.

진행 중인 데이터베이스 작업 취소하기

context.Context를 사용하여 더 이상 필요하지 않은 작업의 함수 호출과 서비스를 조기에 중지하고 오류를 반환할 수 있습니다.

연결 관리하기

일부 고급 프로그램에서는 연결 풀 매개변수를 조정하거나 연결을 명시적으로 작업해야 할 필요가 있을 수 있습니다.

SQL 인젝션 위험 방지하기

SQL 매개변수 값을 sql 패키지 함수 인수로 제공하여 SQL 인젝션 위험을 피할 수 있습니다.

6 모듈 개발

7 토크

8 코드워크

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}