Go proqramlaşdırma dili, çox platformlu tətbiqlər yaratmaq üçün geniş imkanlar təqdim edir. Bir Go proqramını tək bir əməliyyat sistemi üçün deyil, müxtəlif əməliyyat sistemləri və arxitekturalar üçün də tərtib etmək mümkündür. Bu xüsusiyyət Go-nun daxilində olan "cross-compilation" (çarpaz tərtib) dəstəyi sayəsində həyata keçirilir.
Go-da çarpaz tərtibat üçün GOOS
(operation system) və GOARCH
(architecture) adlı iki mühüm mühit dəyişəni var. Bu dəyişənlər istifadə olunaraq, bir tətbiq istənilən əməliyyat sistemi və arxitektura üçün tərtib edilə bilər.
- windows: Windows əməliyyat sistemi
- linux: Linux əməliyyat sistemi
- darwin: macOS (Apple) əməliyyat sistemi
- freebsd: FreeBSD əməliyyat sistemi
- amd64: 64-bit x86 prosessorlar üçün
- 386: 32-bit x86 prosessorlar üçün
- arm: ARM arxitekturası üçün
- arm64: 64-bit ARM arxitekturası üçün
Fərqli platformalar üçün Go tətbiqi qurmaq olduqca sadədir. Siz yalnız uyğun mühit dəyişənlərini təyin etməklə tətbiqinizi tərtib edə bilərsiniz. Aşağıda bəzi nümunələrə nəzər salaq.
Bir Windows maşınında Linux üçün Go tətbiqi qurmaq üçün aşağıdakı əmrdən istifadə edə bilərsiniz:
GOOS=linux GOARCH=amd64 go build -o myapp-linux
Linux və ya Windows sistemində macOS üçün Go tətbiqi qurmaq üçün:
GOOS=darwin GOARCH=amd64 go build -o myapp-macos
Linux və ya macOS sistemində Windows üçün Go tətbiqi qurmaq üçün:
GOOS=windows GOARCH=amd64 go build -o myapp-windows.exe
Əgər ARM cihazları üçün tərtib etmək istəyirsinizsə, məsələn, Raspberry Pi üçün:
GOOS=linux GOARCH=arm go build -o myapp-arm
- Daha sürətli inkişaf: Bir platformda işləyərək bir çox fərqli platformalar üçün tətbiq tərtib etmək mümkündür.
- Daha az konfiqurasiya: Əlavə alət və ya mühitə ehtiyac olmadan tək bir maşından çoxlu platforma üçün tətbiqlər tərtib etmək mümkündür.
- Sadə tərtibat prosesi: Yalnız
GOOS
vəGOARCH
dəyişənlərini təyin etməklə fərqli platformalar üçün tərtib həyata keçirmək mümkündür.
Bu yanaşma Go dilini xüsusilə platformadan asılı olmayan tətbiqlər və mikroservislər üçün çox uyğun edir.