Πώς να προσθέσετε ετικέτες δόμησης Golang

Pos Na Prosthesete Etiketes Domeses Golang



Οι ετικέτες δόμησης στο Go είναι μια ισχυρή δυνατότητα που μας επιτρέπει να συμπεριλάβουμε ή να αποκλείσουμε υπό όρους έναν συγκεκριμένο κώδικα κατά τη διαδικασία δημιουργίας με βάση συγκεκριμένους περιορισμούς κατασκευής. Αυτή η ευελιξία μάς δίνει τη δυνατότητα να δημιουργούμε τις συγκεκριμένες πλατφόρμες για διαφορετικά λειτουργικά συστήματα, αρχιτεκτονικές ή άλλες απαιτήσεις που σχετίζονται με το περιβάλλον. Οι ετικέτες δόμησης είναι ειδικά σχόλια που προστίθενται στην αρχή ενός αρχείου προέλευσης, ακριβώς πάνω από τη δήλωση του πακέτου. Αυτές οι ετικέτες παρέχουν οδηγίες στο σύστημα Go build σχετικά με τον τρόπο χειρισμού του κώδικα σε αυτό το αρχείο κατά τη διαδικασία μεταγλώττισης.

Παράδειγμα 1: Προσθέστε την ετικέτα δόμησης Golang για σύστημα Linux

Για να στοχεύσουμε το λειτουργικό σύστημα Linux, μπορούμε να προσθέσουμε την ετικέτα κατασκευής “// +build linux”.

//go build linux

// +κατασκευή linux

πακέτο κύριος

εισαγωγή 'fmt'

func κύριος () {

fmt . Println ( 'Γεια σας παράδειγμα συστήματος Linux' )

}

Εδώ, ορίζουμε τους περιορισμούς κατασκευής στο Go, οι οποίοι καθορίζουν ότι ο κώδικας πρέπει να δημιουργείται μόνο εάν το σύστημα στόχος είναι το Linux. Μετά από αυτό, ορίζουμε το πακέτο και εισάγουμε την απαιτούμενη δήλωση για τον κωδικό. Στη συνέχεια, εισάγουμε τη μέθοδο main() όπου εκτυπώνουμε το μήνυμα χρησιμοποιώντας την κλήση «Println» από το πακέτο «fmt».







Έτσι, το μήνυμα εμφανίζεται στην κονσόλα με επιτυχία για το λειτουργικό σύστημα Linux:





Παράδειγμα 2: Προσθέστε την ετικέτα δόμησης Golang για σύστημα Windows

Όταν θέλουμε απλώς να εκτελεστεί ο κώδικας στην πλατφόρμα των Windows, χρησιμοποιούμε την ετικέτα κατασκευής «// +build windows» στην αρχή του αρχείου. Από αυτό, μπορούμε να βεβαιωθούμε ότι ο κώδικας ενσωματώνεται στο build μόνο όταν τα Windows είναι η προβλεπόμενη πλατφόρμα.





// +κατασκευή παραθύρων

πακέτο κύριος

εισαγωγή 'fmt'

func κύριος () {

fmt . Println ( 'Γεια, παράδειγμα Windows!' )

}

Εδώ, χρησιμοποιούμε τον περιορισμό δόμησης «// +build windows» για να διασφαλίσουμε ότι ο κώδικας μεταγλωττίζεται και εκτελείται μόνο κατά τη δημιουργία για την πλατφόρμα των Windows. Μετά από αυτό, συμπεριλαμβάνουμε το απαραίτητο πακέτο για τον κωδικό με τον τροποποιητή πακέτου και εισαγωγής. Στη συνέχεια, έρχεται η συνάρτηση main() που χρησιμοποιεί τη συνάρτηση println() για να εκτυπώσει τη δήλωση κατά την κατασκευή των ετικετών του παραθύρου στο Golang.

Όταν κατασκευάζουμε και εκτελούμε αυτό το πρόγραμμα σε ένα σύστημα Windows, εμφανίζεται το 'Γεια, παράδειγμα των Windows!' μήνυμα στην κονσόλα. Σημειώστε ότι το πρόγραμμα δεν θα κατασκευαστεί ή δεν θα εκτελεστεί σε άλλα λειτουργικά συστήματα λόγω του περιορισμού κατασκευής.



Παράδειγμα 3: Προσθέστε την ετικέτα δόμησης Golang για το σύστημα εκτός των Windows

Αντίθετα, εάν θέλουμε να εξαιρέσουμε τον κώδικα κατά τη δημιουργία για Windows, μπορείτε να χρησιμοποιήσετε το '!' θαυμαστικό με την ετικέτα κατασκευής.

// +build !windows

πακέτο κύριος

εισαγωγή 'fmt'

func κύριος () {

fmt . Println ( 'Γεια, εκτός από τα Windows!' )

}

Εδώ, χτίζουμε μια οδηγία περιορισμών που υποδεικνύει ότι ο κώδικας πρέπει να δημιουργηθεί και να εκτελεστεί σε πλατφόρμες άλλες από τα Windows. Το θαυμαστικό (!) πριν από τα Windows υποδηλώνει ότι αυτός ο κωδικός πρέπει να περιλαμβάνεται σε όλες τις πλατφόρμες εκτός από τα Windows. Στη συνέχεια, προχωράμε με το ίδιο πρόγραμμα όπως στην προηγούμενη συνάρτηση όπου προσθέτουμε πρώτα τα πακέτα και καλούμε τη συνάρτηση main() για να εκτελέσουμε το μήνυμα που περνάει μέσα στη συνάρτηση println().

Έτσι, η έξοδος δημιουργεί το μήνυμα στις κονσόλες του λειτουργικού συστήματος. Λάβετε υπόψη ότι δεν θα εκτελεστεί στο λειτουργικό σύστημα Windows λόγω του περιορισμού κατασκευής:

Παράδειγμα 4: Προσθέστε την ετικέτα δόμησης Golang με τη λογική OR

Για να συμπεριλάβουμε τον κώδικα κατά τη στόχευση των Windows Ή Linux, μπορούμε να χρησιμοποιήσουμε την ετικέτα κατασκευής '// +build windows Linux'.

// +κατασκευή Windows Linux

πακέτο κύριος

εισαγωγή 'fmt'

func κύριος () {

fmt . Println ( 'Γεια, χρήστες Windows ή Linux' )

}

Εδώ, εφαρμόζουμε τον περιορισμό κατασκευής με το λογικό OR που σκοπεύει να κατασκευαστεί τόσο για λειτουργικά συστήματα Windows όσο και για Linux. Η γραμμή '// +build windows Linux' προσδιορίζει ότι αυτό το αρχείο θα πρέπει να περιλαμβάνεται στην έκδοση όταν η πλατφόρμα στόχος είναι είτε Windows είτε Linux. Στη συνέχεια, εισάγουμε το πακέτο «fmt» από την τυπική βιβλιοθήκη Go που παρέχει τη βασική λειτουργία εισόδου και εξόδου. Στην κύρια συνάρτηση, εκτυπώνουμε τη δήλωση συμβολοσειράς 'Hey, Windows or Linux Users' χρησιμοποιώντας τη συνάρτηση Println() από το πακέτο 'fmt'.

Ως εκ τούτου, η έξοδος ανακτάται στα ακόλουθα. Το ίδιο μήνυμα δημιουργείται είτε χρησιμοποιούμε λειτουργικό σύστημα Windows είτε Linux:

Παράδειγμα 5: Προσθέστε την ετικέτα δόμησης Golang με τη λογική ΚΑΙ

Μπορούμε να καθορίσουμε πολλαπλές ετικέτες κατασκευής για να δημιουργήσουμε πιο σύνθετες συνθήκες. Η εντολή '// +build windows,linux' μπορεί να χρησιμοποιηθεί για τη δημιουργία κώδικα τόσο για Linux όσο και για Windows.

// +build windows,386

πακέτο κύριος

εισαγωγή 'fmt'

func κύριος () {

fmt . Println ( 'Αυτά είναι Windows 32-bit' )

}

Εδώ, ο περιορισμός build που ορίζεται είναι '// +build windows,386', ο οποίος προσδιορίζει ότι το αρχείο Go θα πρέπει να περιλαμβάνεται στην έκδοση όταν η πλατφόρμα προορισμού είναι Windows 32-bit. Σημειώστε ότι χρησιμοποιούμε κόμμα ',' μεταξύ των Windows και 386 που λειτουργεί ως λογικός τελεστής ΚΑΙ. Αυτό σημαίνει ότι πρέπει να πληρούνται και οι δύο προϋποθέσεις για να συμπεριληφθεί ο κώδικας στο build.

Στη συνέχεια, όπως στο προηγούμενο παράδειγμα, εισάγουμε το πακέτο «fmt» από την τυπική βιβλιοθήκη Go για να χρησιμοποιήσουμε τη συνάρτηση Println () για έξοδο. Έχουμε τη συνάρτηση main() του προγράμματος όπου η εντολή μεταβιβάζεται ως όρισμα στη συνάρτηση println().

Όταν κατασκευάζουμε και εκτελούμε αυτό το πρόγραμμα σε ένα σύστημα Windows 32-bit, εμφανίζει το καθορισμένο μήνυμα ως έξοδο. Ωστόσο, εάν επιχειρήσουμε να το δημιουργήσουμε και να το εκτελέσουμε σε διαφορετικό λειτουργικό σύστημα ή αρχιτεκτονική, δεν θα συμπεριληφθεί στην έκδοση:

Παράδειγμα 6: Προσθέστε την ετικέτα δόμησης Golang για μια συγκεκριμένη συνάρτηση

Επιπλέον, οι ετικέτες build μπορούν επίσης να εφαρμοστούν σε συγκεκριμένες λειτουργίες μέσα σε ένα αρχείο. Λόγω των περιορισμών κατασκευής, μπορούμε πλέον να συμπεριλάβουμε ή να καταργήσουμε συγκεκριμένες συναρτήσεις υπό όρους.

πακέτο κύριος

εισαγωγή 'fmt'

func κύριος () {

fmt . Println ( 'Γεια σου, απολαύστε!' )

εκτύπωσηΜήνυμα Windows ()

}

// +κατασκευή παραθύρων

func εκτύπωσηΜήνυμα Windows () {

fmt . Println ( 'Hello From Windows Operating System' )

}

Εδώ, τώρα προχωράμε στη μέθοδο main() που χρησιμοποιεί τη μέθοδο Println() που παρέχεται από το πακέτο «fmt» για να εκτυπώσει το μήνυμα στην αρχή. Στη συνέχεια, αναπτύσσουμε τη συνάρτηση printWindowsMessage() κάτω από τη συνάρτηση main() και καθορίζουμε τον περιορισμό δόμησης “// +build windows”. Αυτό υποδηλώνει ότι η συνάρτηση περιλαμβάνεται στο build μόνο όταν η πλατφόρμα στόχος είναι τα Windows.

Τέλος, ρυθμίσαμε τη συνάρτηση printWindowsMessage() να εκτυπώνει το καθορισμένο μήνυμα 'Hello From Windows Operating System' χρησιμοποιώντας τη συνάρτηση Println().

Έτσι, ανακτάται η έξοδος που εμφανίζει τόσο το γενικό μήνυμα όσο και το μήνυμα της συγκεκριμένης πλατφόρμας. Λάβετε υπόψη ότι εάν το δημιουργήσουμε και το εκτελέσουμε σε διαφορετικό λειτουργικό σύστημα, η συνάρτηση printWindowsMessage() δεν θα συμπεριληφθεί στο build και θα εμφανίζεται μόνο το γενικό μήνυμα:

συμπέρασμα

Η προσθήκη ετικετών κατασκευής στο Go παρέχει τη δυνατότητα προσαρμογής της συμπερίληψης κώδικα κατά τη διαδικασία δημιουργίας. Με τη μόχλευση των ετικετών κατασκευής, μπορούμε να δημιουργήσουμε τις εκδόσεις για συγκεκριμένη πλατφόρμα, να βελτιστοποιήσουμε τον κώδικα για διαφορετικές αρχιτεκτονικές και ακόμη και να συμπεριλάβουμε υπό όρους συγκεκριμένες λειτουργίες ή χαρακτηριστικά.