이것은 초보자 질문입니다 ... "myprogram"이라는 디렉토리 (루트로 시작된 저장소)에 Go 코드가 있다고 가정 해 봅니다. 그리고 여러 하위 디렉토리로 나뉘어 진 패키지를 작성합니다.Go, Golang : 명령 행 인터페이스 용 프로그램, 패키지 구조
은 그 때 나는
저장소, 루트 디렉토리
myprogram
----------- package1
----------- 패키지 2가
----------- package3
그런 다음 myprogram 디렉토리에, 나는 모든 팩을 호출합니다 주요 프로그램에 대한 기본 패키지 및 주요 프로그램 코드를 작성합니다 다음과 같은 하위 디렉토리에 정의되어 연령 :
main.go
import "github.com/username/package1"
import "github.com/username/package2"
import "github.com/username/package3"
func main() {
package1.Function1()
....
}
그럼 난 그냥 내가 지금까지 아무 문제가
$ go run main.go
이 코드를 실행할 수 있습니다. 그러나이 프로그램에 깃발이있는 기능이 있다면 어떨까요?
$ go run main.go flag1 flag2
, 저장소
을이 작동하지만, 나는 모든 프로그램과 소스 코드는 프로젝트의 이름입니다 디렉토리 myprogram 아래에 포함되기 때문에$ myprogram
$ flag1
....
$ flag2
뭔가를 실행하려면
myprogram
----------- package1
----------- 패키지 2
----------- package3
내 프로그램이 명령에 의해 실행되도록 어떻게 우리는 명령이 같은 뭔가 빔을 실행
...
$ vim
을 요약하면, , 주행에 의한 것이 아닌가?
참조 할 수있는 오픈 소스 저장소가 있습니까? 또는 읽을 패키지 또는 설명서를 알려주십시오. 시도했는데
go install
하지만 원하는대로 작동하지 않을 수 있습니다.
고맙습니다.
@ FuZxxl의 답변에서 확장하려면 :'go run'은 빠른 단일 파일 검사에만 사용되어야합니다. Go는 스크립팅 언어가 아니므로 컴파일해야합니다 (효율적으로 실행하면 바이너리가 삭제됩니다).하나의 패키지 ('package main' 또는'package mylibrary')에 여러 개의 파일을 가지고있을 때'go build'를 사용해야합니다. – elithrar