더북(TheBook)

7.3.8 기타

앞에서 영역별로 살펴본 패키지 외에 많이 사용되는 다른 패키지들도 살펴보자.

crypto 패키지로는 다양한 알고리즘을 사용하여 해시 값을 생성하는 작업이나, 암호화/복호화 작업을 할 수 있다. 각 알고리즘은 별도의 패키지로 제공된다(예를 들면 cryto/md5, cryto/sha512, crypto/aes, crypto/des 등).

os/exec 패키지는 외부 프로그램을 실행할 때 사용한다. os.StartProcess() 함수로도 외부 프로그램을 실행할 수 있지만 exec.Cmd를 사용하는 것이 더 편리하다.

flag 패키지를 사용하면 커맨드 명령 매개변수를 쉽게 다룰 수 있다. flag 패키지는 -flag 형태의 커맨드 명령 옵션을 파싱하여 지정된 변수에 할당하고, 약속된 형태의 매개변수가 아니면 Usage 메시지를 출력한다.

프로그램 수행 중 간단하게 로그를 남기거나 로그 메시지와 함께 프로그램을 종료해야 할 때는 log 패키지를 사용한다. log 패키지는 기본적으로 로그 메시지를 os.Stdout에 출력하지만, log.SetOutput() 함수로 로그를 출력할 대상을 지정할 수 있다. 별도의 커스텀 로거가 필요할 때는 log.New() 함수로 새 로거를 생성할 수 있다.

regexp 패키지는 정규표현식으로 문자열을 검색하거나 치환해야 할 때 사용한다.

sort 패키지를 사용하면 슬라이스를 쉽게 정렬할 수 있다. sort 패키지는 정렬뿐만 아니라 정렬된 슬라이스를 기반으로 빠르게 검색할 수 있는 기능도 제공한다. 기본 타입 외에도 사용자 정의 타입에 sort.Sort()sort.Search() 함수를 사용하려면 sort.Interface 인터페이스에 정의된 메서드(Len(), Less(), Swap())를 정의해주면 된다.

image 패키지에는 이미지를 다루는 함수와 타입이 있다. image/jpeg, image/png, image/gif 같은 하위 패키지를 통해 다양한 이미지 포맷에 대한 인코딩/디코딩 기능을 제공한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.