Go in Action - 3

김민진·2022년 4월 10일
1

go

목록 보기
6/6

모든 Go 프로그램은 패키지(package) 라고 불리는 일련의 파일 그룹을 통해 관리된다.

Go의 표준 라이브러리에서 http 관련 기능을 제공하는 패키지이다.

net/http
	cgi/
    cookiejar/
    	testdata/
    fcgi/
    httptest/
    httputil/
    pprof/
    testdata/

이 디렉터리들은 .go 확장자를 가진 관련 파일들을 저장하고 있다.

모든 .go 파일들은 반드시 공백 및 주석을 제외한 첫 번째 줄에 자신이 속한 패키지의 이름을 선언해야 한다.

패키지 문서 참조하기

http://golang.org/pkg/fmt/ 를 방문하거나 터미널에서 godoc fmt 등을 실행하면 도움말을 볼 수 있다.

good

package main
import "fmt"
func main(){
	fmt.println("");
}

bad

package hello
import "fmt"
func main(){
	fmt.println("");
}

하나 이상의 패키지를 가져오려면 다음과 같이 import 블록 내에 패키지 가져오기를 위한 구문을 작성하면 된다.

import (
"fmt"
"strings" -> http://golang.org/pkt/strings && godoc strings
)

원격 패키지 가져오기

import "github.com/spf13/viper"

이 과정은 go get 명령어를 통해 수행된다.

명명된 가져오기 (as)

import (
	"fmt",
    myfmt "mylib/fmt"
)

빈 식별자(blank identifier)

go 언어에서는 _ 는 빈 식별자로써 다양한 용도로 활용할 수 있다.
패키지를 가져올 때 패키지 이름을 지정하는 경우를 포함해서 값의 대입을 건너뛰고 싶을 때나 함수의 리턴 값 중 필요치 않은 값을 무시할 때 사용할 수 있다.

go ver

어느정도 코드를 작성한 후 ver 명령어를 사용하면 코드상에서 일반적으로 발생할 수 있는 에러를 검사해준다.

  1. Printf 스타일의 함수 호출 시 잘못된 매개변수 지정
  2. 메서드 정의 시 시그너처(signature) 관련 에러
  3. 잘못 구성된 태그
  4. 조합 리터럴 사용시 누락된 키

go format

fmt 도구는 미리 정의된 레이아웃을 Go 소스 코드에 자동으로 적용해준다.
go fmt 명령 다음에 파일이나 패키지 이름을 명시하면 된다.

이전

if err != nil {return err}

이후

if err != nul {
	return err
}
profile
dart,c#,java 개발자! 잡다하게 해서 문제될게 없다!

0개의 댓글