👉 Go 프로젝트 구조
👉 Go 프로젝트는 모듈이다.
- Go 1.14부터 Go에는 Module 이라는 개념이 생겼다.
- Go Module이 나오기 전의 Go는 Python과 같이 기본적으로 실행 환경이 설치된 곳(GOPATH)에 의존 패키지가 모여서 설치되는 구조였다.
- 하지만 요즘 나오는 Go는 모두 다 Go Module 이라고 보면 된다.
- 각 모듈마다 의존 패키지는 따로 관리된다.
👉 Go Module 시작하기
$ go mod init [모듈명]
go.mod 파일이 생성된다.
go.mod
module [모듈명]
go 1.19
👉 src 디렉토리가 따로 없고, 모듈이 루트 패키지 이다.
- Go 언어에서 루트 패키지는 모듈에 대한 공식적인 패키지 경로를 가리킨다. Go 모듈은 Go 코드의 패키지 의존성 관리를 위한 시스템이며, 패키지들을 그룹화하고 다른 모듈에서 가져다 사용할 수 있는 구조를 제공한다. 루트 패키지는 모듈을 고유하게 식별하는 역할을 한다.
- Java를 비롯한 JVM 계열 언어들은 컴파일러가 소스코드 파일로 인식하는 경로가 src/main 등 으로 관습적으로 정해져 있다.
- 하지만 Go에는 그런 규칙은 없는 대신, Go 모듈 디렉터리 자체가 곧 그 모듈의 루트 패키지가 된다.
- 모듈 루트 디렉토리에 go.mod와 소스코드 .go 파일을 나란히 넣어도 된다.
👉 router
- 웹 어플리케이션에서 들어오는 HTTP 요청을 해당 요청을 처리할 핸들러 함수로 라우팅하는 역할
👉 go(main.go)
- go는 가장 먼저 main.go를 호출한다!!!!
👉 sqlboiler.toml
- SQLBoiler라는 SQL 쿼리 및 ORM(객체 관계 매핑) 도구의 설정 파일이다.
- 루트 디렉토리에 위치하며, SQLBoiler가 어떤 데이터베이스와 테이블을 사용하고, 어떤 Go 모델을 생성해야 하는지 등의 정보를 담고 있다.
output = "db/models"
wipe = true
no-tests = true
add-enum-types = true
pkgname = "dbmodels"
add-global-variants = true
[psql]
dbname = "test"
host = "localhost"
port = 5432
user = "testuser"
pass = "1234"
sslmode = "disable"
'Language > Go' 카테고리의 다른 글
gorilla/mux - swagger 적용 (0) | 2023.11.16 |
---|---|
Go[sqlboiler] - 간단한 게시판 만들기(1.20.8-v) (0) | 2023.10.19 |
Go 게시판 정리- 2 (0) | 2023.10.12 |
Go[postgresql db] - 간단한 게시판 만들기 (0) | 2023.10.11 |
Go 시작 (0) | 2023.09.17 |