بستهی strings توابعی برای کار با رشتهها فراهم میکند. در ادامه، برخی از توابع این بسته آمده است؛ برای دیدن بقیه، نگاهی به مستندات بیندازید!
| نقش | تابع | کاربرد |
|---|---|---|
| تبدیل حروف بزرگ و کوچک | ToLower | تبدیل یک رشته به حروف کوچک |
| تبدیل حروف بزرگ و کوچک | ToUpper | تبدیل یک رشته به حروف بزرگ |
| جستوجو | Contains | بررسی این که یک رشته زیررشتهی مشخصی را در بر دارد یا نه |
| جستوجو | Count | شمارش رخدادهای بدون همپوشانی یک زیررشته |
| جستوجو | HasPrefix | بررسی این که یک رشته با زیررشتهی مشخصی شروع میشود یا نه |
| جستوجو | HasSuffix | بررسی این که یک رشته با زیررشتهی مشخصی پایان مییابد یا نه |
| جستوجو | Index | بازگرداندن اندیس نخستین رخداد یک زیررشته، یا -1 |
| تغییر | Replace | جایگزینی حداکثر n رخداد از یک زیررشته |
| تغییر | ReplaceAll | جایگزینی همهی رخدادهای یک زیررشته |
| تغییر | TrimSpace | حذف فضای خالی ابتدا و انتهای رشته |
| جدا کردن یا پیوستن | Fields | تقسیم یک رشته به کلمهها بر اساس فضای خالی |
| جدا کردن یا پیوستن | FieldsSeq | دریافت کلمهها یکییکی |
| جدا کردن یا پیوستن | Join | پیوستن یک برش از رشتهها با یک جداکننده |
| جدا کردن یا پیوستن | 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