τα στοιχεία επικοινωνίας μου
Ταχυδρομείο[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Η γλώσσα Go, γνωστή και ως Golang, είναι μια γλώσσα προγραμματισμού ανοιχτού κώδικα που σχεδιάστηκε από την Google. Έχει σχεδιαστεί για να παρέχει αποτελεσματική ταχύτητα ανάπτυξης, καλή απόδοση, συνοπτική σύνταξη και ισχυρή τυπική βιβλιοθήκη. Η γλώσσα Go είναι ιδιαίτερα κατάλληλη για την κατασκευή μεγάλης κλίμακας κατανεμημένων συστημάτων και αρχιτεκτονικών μικροϋπηρεσιών. Αυτό το άρθρο θα σας βοηθήσει να μάθετε τη γλώσσα Go από την αρχή, καλύπτοντας βασική σύνταξη, προηγμένες δυνατότητες, βέλτιστες πρακτικές και πρακτικές εφαρμογές.
Δείτε τον πηγαίο κώδικα του έργου στο κάτω μέρος
Αρχικά, πρέπει να εγκαταστήσετε το περιβάλλον Go στον υπολογιστή σας. Επισκεφθείτε την επίσημη ιστοσελίδα της Go (https://golang.org/dl/) Κατεβάστε το πακέτο γλώσσας Go κατάλληλο για το λειτουργικό σας σύστημα και ακολουθήστε τις οδηγίες για να το εγκαταστήσετε.
Πηγαίνω
σκοτεινή έκδοση
- 1package main
- 2
- 3import "fmt"
- 4
- 5func main() {
- 6 fmt.Println("Hello, World!")
- 7}
Η γλώσσα Go παρέχει μια ποικιλία από ενσωματωμένους τύπους δεδομένων, συμπεριλαμβανομένων ακεραίων (int, int8, int16, int32, int64), τύπους κινητής υποδιαστολής (float32, float64), Boolean (bool), συμβολοσειράς (string) κ.λπ.
Η γλώσσα Go υποστηρίζει εντολές if, για βρόχους, εντολές εναλλαγής και δηλώσεις αναβολής για τον έλεγχο της ροής του προγράμματος.
Οι συναρτήσεις είναι η βασική μονάδα εκτέλεσης της γλώσσας Go. Οι συναρτήσεις μπορούν να δέχονται παραμέτρους και να επιστρέφουν αποτελέσματα.
Πηγαίνω
σκοτεινή έκδοση
- 1func add(x int, y int) int {
- 2 return x + y
- 3}
Οι δείκτες χρησιμοποιούνται στη γλώσσα Go για απευθείας χειρισμό διευθύνσεων μνήμης.με τη χρήση*
και&
Χειριστή, μπορείτε να λάβετε τη διεύθυνση μιας μεταβλητής και την τιμή που επισημαίνεται από τη διεύθυνση.
Πηγαίνω
σκοτεινή έκδοση
- 1func increment(p *int) {
- 2 *p++
- 3}
Μια διεπαφή στο Go ορίζει ένα σύνολο μεθόδων που πρέπει να εφαρμόσει ένας τύπος. Οι διεπαφές κάνουν τον κώδικα πιο ευέλικτο και επαναχρησιμοποιήσιμο.
Πηγαίνω
σκοτεινή έκδοση
- 1type Shape interface {
- 2 Area() float64
- 3}
- 4
- 5type Circle struct {
- 6 Radius float64
- 7}
- 8
- 9func (c Circle) Area() float64 {
- 10 return math.Pi * c.Radius * c.Radius
- 11}
Η γλώσσα Go συνιστά τη χρήση τιμών επιστροφής σφαλμάτων για τον χειρισμό εξαιρέσεων.
Πηγαίνω
σκοτεινή έκδοση
- 1func divide(x, y int) (int, error) {
- 2 if y == 0 {
- 3 return 0, errors.New("cannot divide by zero")
- 4 }
- 5 return x / y, nil
- 6}
Το μοντέλο συγχρονισμού της γλώσσας Go βασίζεται σε ελαφριές γορουτίνες και κανάλια. Το Goroutine είναι ένα νήμα σε επίπεδο χρήστη στη γλώσσα Go και το κανάλι χρησιμοποιείται για την επικοινωνία και τον συγχρονισμό μεταξύ των γορουτίνων.
Πηγαίνω
σκοτεινή έκδοση
- 1func say(s string) {
- 2 for i := 0; i < 5; i++ {
- 3 fmt.Println(s)
- 4 }
- 5}
- 6
- 7func main() {
- 8 go say("world") // 开始一个新的goroutine
- 9 say("hello")
- 10}
Το πλαίσιο χρησιμοποιείται για τη μετάδοση σημάτων ακύρωσης μεταξύ των γκορουτίνων, επιτρέποντας στο πρόγραμμα να τερματίζει με χάρη τις μακροχρόνιες γορουτίνες.
Πηγαίνω
σκοτεινή έκδοση
- 1func main() {
- 2 ctx, cancel := context.WithCancel(context.Background())
- 3 go func() {
- 4 select {
- 5 case <-ctx.Done():
- 6 fmt.Println("operation canceled")
- 7 case <-time.After(time.Second * 3):
- 8 fmt.Println("operation completed")
- 9 }
- 10 }()
- 11 time.Sleep(time.Second)
- 12 cancel()
- 13}
Η γλώσσα Go συνιστά τη χρήση μιας αρθρωτής προσέγγισης για την οργάνωση του κώδικα Κάθε κατάλογος αντιπροσωπεύει ένα πακέτο και ορίζει ένα ή περισσότερα αρχεία .go σε αυτό.
Σύστημα μονάδας Go (go mod
) χρησιμοποιείται για τη διαχείριση εξωτερικών εξαρτήσεων του έργου.χρήσηgo get
καιgo mod tidy
Εντολές για προσθήκη και οργάνωση εξαρτήσεων.
Η γλώσσα Go έχει ενσωματωμένο ισχυρό πλαίσιο δοκιμών, χρήσηtesting
πακέτο για να γράψετε δοκιμαστικές περιπτώσεις.
Πηγαίνω
σκοτεινή έκδοση
- 1import (
- 2 "testing"
- 3)
- 4
- 5func TestAdd(t *testing.T) {
- 6 tests := []struct {
- 7 x, y, want int
- 8 }{
- 9 {2, 2, 4},
- 10 {1, 3, 4},
- 11 {0, 0, 0},
- 12 }
- 13 for _, tt := range tests {
- 14 got := add(tt.x, tt.y)
- 15 if got != tt.want {
- 16 t.Errorf("add(%d, %d) = %d; want %d", tt.x, tt.y, got, tt.want)
- 17 }
- 18 }
- 19}
χρήσηgo build
Εντολή για τη δημιουργία του εκτελέσιμου αρχείου, χρησιμοποιήστεgo install
Εγκαταστήστε το έργο σε$GOPATH/bin
κατάλογο για τη διευκόλυνση των κλήσεων συστήματος.
Η γλώσσα Go χρησιμοποιείται ευρέως σε υπηρεσίες back-end, προγραμματισμό δικτύου, αρχιτεκτονική microservice, εργαλεία DevOps, βάσεις δεδομένων, ενδιάμεσο λογισμικό και άλλα σενάρια.
Η υψηλή ταυτόχρονη φύση της γλώσσας Go την καθιστά ιδανική επιλογή για την κατασκευή μικροϋπηρεσιών.
Η τυπική βιβλιοθήκη της γλώσσας Go παρέχει ένα πλούσιο API προγραμματισμού δικτύου, που περιλαμβάνει διακομιστή HTTP, πελάτη, WebSocket, TCP/IP κ.λπ.
Η γλώσσα Go έχει γρήγορη ταχύτητα μεταγλώττισης και ισχυρή φορητότητα και είναι κατάλληλη για την ανάπτυξη εργαλείων DevOps, όπως ενορχήστρωση κοντέινερ, συνεχής ενοποίηση και εργαλεία συνεχούς ανάπτυξης.
Η γλώσσα Go έχει γίνει σταδιακά μια από τις κύριες γλώσσες για τη σύγχρονη ανάπτυξη λογισμικού με τη συνοπτική σύνταξη, την ισχυρή τυπική βιβλιοθήκη και το αποτελεσματικό μοντέλο ταυτόχρονης χρήσης. Μελετώντας αυτό το άρθρο, όχι μόνο θα κατακτήσετε τις βασικές γνώσεις της γλώσσας Go, αλλά θα κατανοήσετε και τις προηγμένες δυνατότητες και τις βέλτιστες πρακτικές της, θέτοντας γερά θεμέλια για τη μελλοντική ανάπτυξη της γλώσσας Go. Είτε δημιουργείτε υπηρεσίες back-end υψηλής απόδοσης είτε αναπτύσσετε πολύπλοκα κατανεμημένα συστήματα, η γλώσσα Go θα είναι ο απαραίτητος συνεργάτης σας.
Διεύθυνση λήψης πηγαίου κώδικα έργου:https://download.csdn.net/download/qq_42072014/89531977