Rumah >pembangunan bahagian belakang >Golang >Kompilasi Silang dalam Go untuk AWS Lambda
Keupayaan kompilasi silang Go adalah salah satu kekuatannya, membolehkan pembangun membina binari dengan mudah untuk persekitaran sasaran yang berbeza daripada mesin pembangunan mereka. Ini amat berguna apabila menggunakan aplikasi ke persekitaran awan seperti AWS Lambda, yang mungkin berjalan pada gabungan OS dan seni bina yang berbeza berbanding dengan persekitaran pembangunan setempat anda.
Contoh:
Jika anda sedang membangun pada mesin Windows dengan seni bina x86, anda masih boleh menyusun binari Go untuk AWS Lambda seperti berikut:
GOOS=linux GOARCH=amd64 go build -o main main.go
Perintah di atas akan menghasilkan binari bernama utama yang serasi dengan OS Linux dan seni bina AMD64, sesuai untuk penempatan kepada AWS Lambda.
Ya, menetapkan GOOS=linux dan GOARCH=amd64 memastikan binari Go dibina untuk sistem pengendalian Linux dan seni bina AMD64, yang merupakan persekitaran yang berfungsi AWS Lambda. Proses binaan ini adalah bebas daripada OS dan seni bina mesin pembangun. Pengkompil Go boleh menyusun silang perduaan untuk sistem pengendalian dan seni bina yang berbeza, membolehkan anda membina binari yang akan berjalan dalam persekitaran AWS Lambda walaupun mesin pembangunan anda menjalankan OS atau seni bina yang berbeza.
Berikut ialah penjelasan yang lebih terperinci:
GOOS: Pembolehubah persekitaran ini menetapkan sistem pengendalian sasaran untuk binari Go. Menetapkan GOOS=linux memastikan bahawa binari akan serasi dengan OS Linux, iaitu apa yang digunakan oleh AWS Lambda.
GOARCH: Pembolehubah persekitaran ini menetapkan seni bina sasaran untuk binari Go. Menetapkan GOARCH=amd64 memastikan bahawa binari akan serasi dengan seni bina AMD64, yang digunakan oleh AWS Lambda.
Walaupun anda sedang membangun pada sistem pengendalian yang berbeza (cth., Windows atau macOS) atau seni bina (cth., ARM), menetapkan pembolehubah persekitaran ini akan mengarahkan pengkompil Go untuk menghasilkan binari untuk persekitaran sasaran yang ditentukan.
Atas ialah kandungan terperinci Kompilasi Silang dalam Go untuk AWS Lambda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!