Το Τυφλό σύστημα πληκτρολόγησης είναι σημαντικό στον προγραμματισμό. Είστε πιο αποτελεσματικοί χρησιμοποιώντας τεχνικές γρήγορης πληκτρολόγησης για τη σύνταξη κώδικα στη γλώσσα προγραμματισμού Go.
Προγραμματισμός σε Go και τυφλο σύστημα γραφησ
Ο προγραμματισμός στη Go και το τυφλό σύστημα γραφής συνδέονται φυσικά. Η Go έχει αυστηρούς κανόνες σύνταξης και ειδικούς χαρακτήρες που μπορεί να είναι δύσκολο να πληκτρολογηθούν γρήγορα. Στη Go, ένα λάθος σε μία αγκύλη ή έναν τελεστή οδηγεί άμεσα σε σφάλμα μεταγλώττισης.
Τι είναι χαρακτηριστικό στη σύνταξη της Go;
Η Go είναι μια μεταγλωττιζόμενη γλώσσα αγγλ.: compiled language με καθαρό και μινιμαλιστικό στυλ. Ο κώδικας ξεκινά πάντα με δήλωση package
. Τα imports ομαδοποιούνται σε μπλοκ. Οι συναρτήσεις δηλώνονται με τη λέξη-κλειδί func
και περιορίζονται από αγκύλες {}
. Η εσοχή δεν είναι προαιρετική - η Go επιβάλλει μορφοποίηση με go fmt
. Η γλώσσα αποφεύγει τα ελληνικά ερωτηματικά, αλλά ο μεταγλωττιστής τα εισάγει αυτόματα στο τέλος των γραμμών. Έτσι, η σωστή χρήση του Enter
είναι απαραίτητη.
package main
import "fmt"
func main() {
fmt.Println("Hello, Go")
}
Χαρακτήρες που χρειάζονται προσοχή
Στον κώδικα Go συναντάμε συχνά τους εξής χαρακτήρες: αγκύλες {}
μετά από κάθε συνάρτηση ή δομή ελέγχου, παρενθέσεις ()
για παραμέτρους, αγκύλες τετραγωνικές []
για πίνακες και slices, εισαγωγικά "
και backticks `
για συμβολοσειρές, τον τελεστή :=
για δήλωση μεταβλητών, καθώς και το βέλος καναλιών <-
.
Μεταβλητές και δηλώσεις
Η Go ξεχωρίζει τη δήλωση με var
από την σύντομη ανάθεση :=
. Αυτός ο τελεστής συνδυάζει άνω και κάτω τελεία με ίσον και χρησιμοποιείται παντού.
var count int = 10
message := "typed correctly"
Δομές ελέγχου
Η Go διαθέτει if
, for
και switch
, αλλά όχι while
. Οι συγκριτικοί τελεστές ==
, !=
, <
, >
και ο τελεστής αύξησης ++
πρέπει να πληκτρολογούνται με ακρίβεια.
for i := 0; i < 5; i++ {
if i%2 == 0 {
fmt.Println("even")
}
}
Συναρτήσεις και πολλαπλές επιστροφές
Οι συναρτήσεις στη Go μπορούν να επιστρέψουν πολλές τιμές. Αυτό σημαίνει συχνή χρήση κόμματων σε λίστες επιστροφών και αναθέσεις.
func divide(a, b int) (int, error) {
if b == 0 {
return 0, fmt.Errorf("division by zero")
}
return a/b, nil
}
result, err := divide(10, 2)
Slices, maps και σύνθετα literals
Οι αγκύλες []
και {}
χρησιμοποιούνται συνέχεια με slices και maps. Οι maps χρειάζονται και άνω-κάτω τελεία :
ανάμεσα σε κλειδιά και τιμές.
nums := []int{1, 2, 3}
scores := map[string]int{"alice": 5, "bob": 7}
Structs και μέθοδοι
Ο τύπος struct
ομαδοποιεί δεδομένα. Οι μέθοδοι δηλώνονται με receivers και καλούνται με τελεία .
.
type User struct {
Name string
}
func (u User) Greet() string {
return "Hello " + u.Name
}
u := User{Name: "A"}
fmt.Println(u.Greet())
Interfaces
Τα interfaces στη Go ικανοποιούνται έμμεσα, χωρίς ρητό implements
.
type Stringer interface {
String() string
}
Συγχρονισμός και κανάλια
Ο τελεστής καναλιού <-
είναι μοναδικό χαρακτηριστικό της Go. Χρησιμοποιείται και για αποστολή (ch <- value
) και για λήψη (value := <-ch
).
ch := make(chan int)
go func() { ch <- 42 }()
value := <-ch
Συμβολοσειρές και runes
Διπλά εισαγωγικά για κανονικές συμβολοσειρές, backticks για raw strings και μονά εισαγωγικά για runes.
text := "normal string"
raw := `path\to\file`
r := 'a'
Εσοχές και μορφοποίηση
Η Go επιβάλλει ενιαίο στυλ. Η τοποθέτηση αγκυλών και αλλαγών γραμμής έχει σημασία. Συχνό λάθος: Enter
μετά από return
.
Συμπέρασμα
Στη Go πρέπει να δίνεται προσοχή στην πληκτρολόγηση. Σημαντικοί χαρακτήρες είναι οι αγκύλες {}
, οι παρενθέσεις ()
, οι τετραγωνικές αγκύλες []
, ο τελεστής :=
και το βέλος <-
. Η εξάσκηση σε αυτά είναι το κλειδί για γρήγορο και σωστό κώδικα.