이번 시간에는 gofmt를 사용해
코드 서식 지정과 도구를 사용하는 법을
알아보도록 하겠습니다.
gofmt로 코드 서식 지정하기
go에서는 괄호나 들여쓰기 같은 코드의
서식 지정 문제는 개발자 커뮤니티에서도
자주 등장하는 논쟁거리입니다.
Go는 코드의 스타일을 자동으로 맞춰주는
gofmt 도구를 제공함으로써 이러한 논쟁을
해결했습니다.
gofmt 도구를 사용하면 코드의 타일을
Go에서 사용하는 스타일 대로
맞춰줍니다.
// style 이 맞치 않은 코드
package main
import "fmt"
func main() {
type Rect struct{
width int // width
height int // height
}
r := Rect{1, 2}; fmt.Println(r.width * 2 + r.height * 2)
}
// gofmt 를 사용한 스타일 코드
package main
import "fmt"
func main() {
type Rect struct{
width int // width
height int // height
}
r := Rect{1, 2}
fmt.Println(r.width * 2 + r.height * 2)
}
gofmt 도구
gofmt는 Go를 설치하면 제공해주는
콘솔용 프로그램입니다.
명령 프롬프트에 gofmt -h를 입력해
gofmt의 사용법을 확인할 수 있습니다.
$ gofmt -h
usage: gofmt [flags] [path ...]
-cpuprofile string
write cpu profile to this file
-d display diffs instead of rewriting files
-e report all errors (not just the first 10 on different lines)
-l list files whose formatting differs from gofmt's
-r string
rewrite rule (e.g., 'a[b:len(a)] -> a[b:]')
-s simplify code
-w write result to (source) file instead of stdout
명령 프롬프트에 gofmt 파일명을 입력하면 스타일이
맞춰진 코드를 볼 수 있습니다.
$ gofmt gofmt-style.go
package main
import "fmt"
func main() {
type Rect struct {
width int // width
height int // height
}
r := Rect{1, 2}
fmt.Println(r.width*2 + r.height*2)
}
-w 옵션을 사용하면 스타일이 맞춰진
코드를 코드 원본 소스 파일에 다시 저장합니다.
$ gofmt -w gofmt-style.go
$ cat gofmt-style.go
package main
import "fmt"
func main() {
type Rect struct {
width int // width
height int // height
}
r := Rect{1, 2}
fmt.Println(r.width*2 + r.height*2)
}
대부분의 개발용 에디터에서
소스 코드를 저장할 때
gofmt로 스타일을 정동해주는
플러그인이 있습니다.
참고 자료
'프론트 엔드 > Go' 카테고리의 다른 글
[Go] Go 변수와 상수 (0) | 2023.02.02 |
---|---|
[Go] Go 정적 타입 언어, 동적 프로그래밍 세미콜론, 모호한 요소제거, 주석 사용법 (0) | 2023.01.11 |
[Go] Go 코드 분석기와 웹페이지 띄우기, 기본 문법 - 반복문 (0) | 2023.01.09 |