Sobes.tech
Junior

Kaip paversti eilutę į sveikąjį skaičių ir atvirkščiai?

sobes.tech AI

Atsakymas iš AI

Konvertuoti eilutę į sveikąjį skaičių naudojamas paketas strconv, funkcija Atoi arba ParseInt. Konvertuojant sveikąjį skaičių į eilutę taip pat naudojamas paketas strconv, funkcija Itoa arba FormatInt.

import "strconv"

func main() {
	// Eilutės konvertavimas į skaičių
	strNum := "123"
	intNum, err := strconv.Atoi(strNum) // Atoi grąžina int ir error
	if err != nil {
		// klaidos apdorojimas
	}

	intNum64, err := strconv.ParseInt("456", 10, 64) // ParseInt grąžina int64, pagrindą, bitų skaičių
	if err != nil {
		// klaidos apdorojimas
	}

	// Skaičiaus konvertavimas į eilutę
	numToStr := 789
	strResult := strconv.Itoa(numToStr) // Itoa grąžina string

	num64ToStr := int64(1011)
	strResult64 := strconv.FormatInt(num64ToStr, 10) // FormatInt grąžina string, pagrindą
}

Pagrindinės funkcijos:

Funkcija Aprašymas Grąžinama reikšmė Paketas
Atoi(s string) Konvertuoja eilutę į dešimtainį sveikąjį skaičių. (int, error) strconv
ParseInt(s string, base int, bitSize int) Konvertuoja eilutę į sveikąjį skaičių pagal nurodytą pagrindą ir bitų dydį. (int64, error) strconv
Itoa(i int) Konvertuoja dešimtainį sveikąjį skaičių į eilutę. string strconv
FormatInt(i int64, base int) Konvertuoja sveikąjį skaičių pagal nurodytą pagrindą į eilutę. string strconv

Atoi yra patogus trumpinys ParseInt(s, 10, 0) rezultatui ir konvertuoja rezultatą į int. Itoa yra trumpinys FormatInt(int64(i), 10).

Konvertuojant eilutę į skaičių, svarbu apdoroti klaidas, nes eilutė gali turėti ne skaitinius simbolius arba viršyti duomenų tipo dydį.