나는 Go에서 (명령의 일부로) 사용자로부터 암호를 얻어야하는 명령 행 유틸리티를 작성하고있다. 이 작업을 수행하는 Unix 용 모듈은 gopass
이며 Windows 콘솔 용으로 작성하는 방법을 알고 있습니다. 문제는 Windows 모듈이 * nix에서 빌드되지 않으며 * nix 버전이 Windows에서 빌드되지 않는다는 것입니다. Go는 전처리 지원이 부족하기 때문에 (내가 말할 수있는 한),이 접근법에 올바른 방법이 무엇인지 전혀 알지 못합니다. Go 자체가 자체 라이브러리에 대해이 작업을 수행해야하므로 가능하다는 것을 알고 있지만, 필자가 익숙한 툴링 (조건부 가져 오기/전 처리기/등)은 누락 된 것으로 보입니다.Go에서 플랫폼 특정 모듈을 처리하려면 어떻게해야합니까?
4
A
답변
8
Go에는 .go 파일에서 주석으로 지정하거나 파일 이름의 일부로 지정할 수있는 빌드 제한 조건이 있습니다.
제약 조건 집합은 대상 운영 체제 용이므로 Windows 용 파일 하나, 예를 들어 Windows 용 파일 하나를 가질 수 있습니다. 리눅스에서 두 가지 방식으로 동일한 기능을 구현합니다.
빌드 제약 조건에 대한 자세한 내용은 http://golang.org/pkg/go/build/#hdr-Build_Constraints
입니다.관련 문제
- 1. Go에서 룬 문자로 문자열을 반복 처리하려면 어떻게해야합니까?
- 2. YQL에서이 응답을 처리하려면 어떻게해야합니까?
- 3. LoginStatus 컨트롤을 처리하려면 어떻게해야합니까?
- 4. HTTParty에서 오류를 처리하려면 어떻게해야합니까?
- 5. 특수 효과를 처리하려면 어떻게해야합니까?
- 6. 스레드에서 예외를 처리하려면 어떻게해야합니까?
- 7. ViewModel에서 컬렉션을 처리하려면 어떻게해야합니까?
- 8. 형식 문자열을 이스케이프 처리하려면 어떻게해야합니까?
- 9. 유료 회원권을 안전하게 처리하려면 어떻게해야합니까?
- 10. 휴대용 JRuby로 보석을 처리하려면 어떻게해야합니까?
- 11. 64 비트 플랫폼 용 32 비트 아파치 모듈을 컴파일하려면 어떻게해야합니까?
- 12. Go에서 스레드를 수동으로 만들려면 어떻게해야합니까?
- 13. Perl에서 Google Mail의 보조 인증을 처리하려면 어떻게해야합니까?
- 14. 특정 텍스트에 대해 markdown 파서를 이스케이프 처리하려면 어떻게해야합니까?
- 15. Perl에서 다중 선택 양식 필드를 처리하려면 어떻게해야합니까?
- 16. 잘못된 AppDomains를 정상적으로 처리하려면 어떻게해야합니까?
- 17. GWT로 파일 업로드를 처리하려면 어떻게해야합니까?
- 18. AsyncTask : DoInBackground에서 결과를 처리하려면 어떻게해야합니까?
- 19. MVC3을 사용하여 현지화를 처리하려면 어떻게해야합니까?
- 20. js에서 입력 작업을 처리하려면 어떻게해야합니까?
- 21. 수은 저장소를 익명으로 처리하려면 어떻게해야합니까?
- 22. Three.js에서 애니메이션 모델을 처리하려면 어떻게해야합니까?
- 23. Azure SAS 만료를 처리하려면 어떻게해야합니까?
- 24. WPF에서 거대한 tif를 처리하려면 어떻게해야합니까?
- 25. 코드 중복없이 트랜잭션을 처리하려면 어떻게해야합니까?
- 26. decent_exposure로 자체 조인을 처리하려면 어떻게해야합니까?
- 27. HoneySQL을 복합 키로 처리하려면 어떻게해야합니까?
- 28. AS3에서 b2Body를 올바르게 처리하려면 어떻게해야합니까?
- 29. ActiveModel에서 해시처럼 모델을 처리하려면 어떻게해야합니까?
- 30. SublimeText에서 공백을 탭으로 처리하려면 어떻게해야합니까?