Junior
Kuidas teisendada string täisarvuks ja vastupidi?
sobes.tech AI
Vastus AI-lt
Stringi muutmine täisarvuks kasutab paketti strconv, funktsiooni Atoi või ParseInt. Täisarvu stringiks muutmine toimub samuti paketi strconv kaudu, funktsiooni Itoa või FormatInt abil.
import "strconv"
func main() {
// Stringi muutmine arvuks
strNum := "123"
intNum, err := strconv.Atoi(strNum) // Atoi tagastab int ja error
if err != nil {
// vea töötlemine
}
intNum64, err := strconv.ParseInt("456", 10, 64) // ParseInt tagastab int64, alus, bitisuurus
if err != nil {
// vea töötlemine
}
// Arvu muutmine stringiks
numToStr := 789
strResult := strconv.Itoa(numToStr) // Itoa tagastab string
num64ToStr := int64(1011)
strResult64 := strconv.FormatInt(num64ToStr, 10) // FormatInt tagastab string, alus
}
Peamised funktsioonid:
| Funktsioon | Kirjeldus | Tagastatav väärtus | Pakett |
|---|---|---|---|
Atoi(s string) |
Muudab stringi kümnendarvuks täisarvuks. | (int, error) |
strconv |
ParseInt(s string, base int, bitSize int) |
Muudab stringi antud alusel ja bittide suurusega täisarvuks. | (int64, error) |
strconv |
Itoa(i int) |
Muudab kümnendarvulise täisarvu stringiks. | string |
strconv |
FormatInt(i int64, base int) |
Muudab täisarvu antud alusel stringiks. | string |
strconv |
Atoi on mugav lühivorm ParseInt(s, 10, 0) tulemuse jaoks ja konverteerib tulemuse int-ks. Itoa on lühivorm FormatInt(int64(i), 10) jaoks.
Stringi muutmisel arvuks on oluline käsitleda vigu, kuna string võib sisaldada mittearvulisi märke või ületada andmetüübi suuruse.