반응형
목차
- fmt 보다 strconv 선호
- import 그룹 정리/배치
- 구조체 초기화
- 패키지 이름
- 디렉터리
- 참고 자료
fmt 보다 strconv 선호
프리미티브(primitives)를 문자열로 변환할 때 strconv가 fmt보다 빠르다.
num := 3
// bad
strNum1 := fmt.Sprint(num)
// good
strNum2 := strconv.Itoa(num)
import 그룹 정리/배치
표준 라이브러리와 그 외에 모든 것은 empty line로 구분한다.
import (
"fmt"
"os"
"go.uber.org/atomic"
)
구조체 초기화
구조체를 초기화할 때는 거의 대부분 필드 명을 지정해야 한다.
// bad
k := User{"John", "Doe", true}
// good
k := User{
FirstName: "John",
LastName: "Doe",
Admin: true,
}
패키지 이름
- 모두 소문자를 사용하고 대문자와 언더스코어는 사용하지 말 것
- 복수형 사용 금지
- 파일 이름의 경우 언더스코어를 사용(스네이크 표기법)
디렉터리
/cmd
메인 애플리케이션을 담는 디렉터리
/internal
외부에서 사용하지 않을 라이브러리를 담는 디렉터리로 프로젝트 트리의 모든 레벨에서 하나 이상의 internal 디렉터리를 가질 수 있습니다.
internal 패키지 참고 자료
/pkg
외부에서 사용되어도 괜찮은 라이브러리를 담는 디렉터리로 pkg에 있는 내용은 어디서든 import 하여 사용 가능
/assets
레포지토리와 함께 사용될 이미지, 로고 등을 담는 디렉터리
참고 자료
반응형
'개발일기 > Prism' 카테고리의 다른 글
[개발 일기] 프로필 수정 페이지 구상 (0) | 2024.01.02 |
---|---|
[개발 일기] 로그인, 로그아웃은 GET? POST? (0) | 2023.12.29 |
[개발일기] 로그인 기능 리팩토링 (2) | 2023.12.26 |
[개발일기] 아키텍처 설계 공부 결정 (2) | 2023.12.20 |
[개발일기] 관리자 페이지 일부 구현 (미들웨어, bcrypto) (0) | 2023.12.18 |