Go тилинде жолдор менен кантип иштеш керек?
sobes.tech AI
AIден жооп
Go тилиндеги саптар — өзгөрүлбөс байттардын тизмеси. Алар UTF-8 текстин да, каалаган бинардык маалыматтарды да көрсөтө алат.
Негизги иштөө ыкмалары:
-
Жарыялоо жана баштапкы кылуу:
var s1 string // Бош сап s2 := "салам" // Саптык литер менен баштапкы кылуу s3 := `көп саптуу сап` // Жасалма литер -
Саптын узундугу:
len(s2) // Байткалардын саны. "салам" үчүн 5 болот. -
Байткаларга жетүү:
b := s2[0] // Индекс боюнча байтканы алуу. 'с' кайтарат (UTF-8де).Түз байткаларга жетүү UTF-8 белгисин албоо мүмкүнчүлүгүн бербейт.
-
Руналарга (UTF-8 белгилерине) жетүү: Саптарды руналар боюнча кайтарууга болот:
for index, runeValue := range s2 { fmt.Printf("Индекс: %d, Руна: %c\n", index, runeValue) }Руналардын узундугу:
utf8.RuneCountInString(s2) // Руналардын саны. "салам" үчүн 5 болот. -
Саптарды бириктирүү:
str1 := "салам" str2 := " дүйнө" result := str1 + str2 // + оператору менен бириктирүүЭффективдүү бириктирүү үчүн
strings.Builderколдонуу керек:var sb strings.Builder sb.WriteString("салам") sb.WriteString(" ") sb.WriteString("дүйнө") result := sb.String() // Жыйынтык сапты алуу -
Саптар менен байттар/руналардын кесилиштерин өзгөртүү:
byteslice := []byte(s2) // Сапты байттарга кесүү rs := []rune(s2) // Сапты руналарга кесүү backToString := string(byteslice) // Байттардан сапты алуу backToString = string(rs) // Руналардан сапты алуу -
stringsмодулу: Көптөгөн пайдалуу функцияларды камсыз кылат:Contains,HasPrefix,HasSuffixIndex,LastIndexReplace,ToUpper,ToLower,Trim,TrimSpaceSplit,Join
-
strconvмодулу: Саптарды башка маалымат түрлөрүнө (сан, логикалык) жана тескерисинче айландыруу үчүн.i, err := strconv.Atoi("123") // Саптан бүтүн санга s := strconv.Itoa(456) // Бүтүн санды сапка айландыруу -
Өзгөрүлбөсдүк: Ар бир операция, ал тургай сапты өзгөртүү сыяктуу көрүнгөндөй, чындыкта жаңы сап түзөт. Бул көп өзгөртүүлөрдө натыйжалуулук үчүн маанилүү. Мындай учурда
[]byteжеstrings.Builderколдонуу жакшыраак.