main 함수
main 함수에서는 find(), grep(), display() 함수를 파이프라인으로 연결해서 실행한다. display()에서 반환한 채널을 <-를 통해 대기시키면 전체 작업이 완료될 때까지 프로그램을 종료하지 않고 대기한다.
func main() { path, pattern := parseArgs() <-display(grep(pattern, find(path))) }
parseArgs() 함수에서는 커맨드 명령으로 전달된 매개변수(-path, -pattern)를 파싱해서 반환한다. 여기서는 기본 라이브러리의 flag 패키지를 사용했다. flag 패키지 사용법은 7장에서 상세히 다룬다.
import “flag” var ( path = flag.String(“path”, ”.”, “path name”) pattern = flag.String(“pattern”, ”.go$”, “pattern”) ) func parseArgs() (string, string) { flag.Parse() return *path, *pattern }