Το πακέτο strings παρέχει συναρτήσεις για εργασία με συμβολοσειρές. Παρακάτω υπάρχουν μερικές από τις συναρτήσεις του πακέτου. Ρίξε μια ματιά στην τεκμηρίωση για να δεις τις υπόλοιπες!
| Ρόλος | Συνάρτηση | Σκοπός |
|---|---|---|
| Μετατροπή πεζών/κεφαλαίων | ToLower | Μετατρέπει μια συμβολοσειρά σε πεζά |
| Μετατροπή πεζών/κεφαλαίων | ToUpper | Μετατρέπει μια συμβολοσειρά σε κεφαλαία |
| Αναζήτηση | Contains | Ελέγχει αν μια συμβολοσειρά περιέχει μια συγκεκριμένη υποσυμβολοσειρά |
| Αναζήτηση | Count | Μετράει τις μη επικαλυπτόμενες εμφανίσεις μιας υποσυμβολοσειράς |
| Αναζήτηση | HasPrefix | Ελέγχει αν μια συμβολοσειρά αρχίζει με μια συγκεκριμένη υποσυμβολοσειρά |
| Αναζήτηση | HasSuffix | Ελέγχει αν μια συμβολοσειρά τελειώνει με μια συγκεκριμένη υποσυμβολοσειρά |
| Αναζήτηση | Index | Επιστρέφει τη θέση της πρώτης εμφάνισης μιας υποσυμβολοσειράς ή -1 |
| Τροποποίηση | Replace | Αντικαθιστά έως n εμφανίσεις μιας υποσυμβολοσειράς |
| Τροποποίηση | ReplaceAll | Αντικαθιστά όλες τις εμφανίσεις μιας υποσυμβολοσειράς |
| Τροποποίηση | TrimSpace | Αφαιρεί τα κενά στην αρχή και στο τέλος |
| Διαχωρισμός ή ένωση | Fields | Χωρίζει μια συμβολοσειρά σε λέξεις με βάση τα κενά |
| Διαχωρισμός ή ένωση | FieldsSeq | Επιστρέφει τις λέξεις μία προς μία |
| Διαχωρισμός ή ένωση | Join | Ενώνει ένα slice από συμβολοσειρές με έναν διαχωριστικό |
| Διαχωρισμός ή ένωση | Split | Χωρίζει μια συμβολοσειρά σε μέρη με βάση έναν διαχωριστικό |
| Διαχωρισμός ή ένωση | SplitSeq | Επιστρέφει τα μέρη ένα προς ένα |
import (
"fmt"
"strings"
)
// Case conversion
strings.ToLower("Gopher") // "gopher"
strings.ToUpper("Gopher") // "GOPHER"
// Searching
strings.Contains("Apple", "le") // true
strings.Index("Apple", "le") // 3
strings.Index("Apple", "xyz") // -1
strings.Count("test", "t") // 2
strings.HasPrefix("Gopher", "Go") // true
strings.HasSuffix("Gopher", "er") // true
// Modifying
strings.TrimSpace(" hello ") // "hello"
strings.Replace("aabbcc", "b", "x", 1) // "aaxbcc"
strings.ReplaceAll("aabbcc", "b", "x") // "aaxxcc"
// Splitting or Joining
strings.Fields(" a b\tc ") // []string{"a", "b", "c"}
strings.Split("a,b,c", ",") // []string{"a", "b", "c"}
strings.Join([]string{"a", "b", "c"}, ",") // "a,b,c"
// You do not need to worry about this range syntax yet.
// It is covered later in the range iteration concept.
for word := range strings.FieldsSeq(" a b\tc ") {
fmt.Println(word)
}
// Output:
// a
// b
// c
for part := range strings.SplitSeq("a,b,c", ",") {
fmt.Println(part)
}
// Output:
// a
// b
// c