Sobes.tech
Junior

Come convertire una stringa in un numero intero e viceversa?

sobes.tech AI

Risposta dell'AI

Per convertire una stringa in un numero intero, si utilizza il pacchetto strconv, la funzione Atoi o ParseInt. Per convertire un numero intero in stringa, si utilizza anch'esso il pacchetto strconv, la funzione Itoa o FormatInt.

import "strconv"

func main() {
	// Conversione da stringa a numero
	strNum := "123"
	intNum, err := strconv.Atoi(strNum) // Atoi restituisce int ed errore
	if err != nil {
		// gestione errore
	}

	intNum64, err := strconv.ParseInt("456", 10, 64) // ParseInt restituisce int64, base, bit
	if err != nil {
		// gestione errore
	}

	// Conversione da numero a stringa
	numToStr := 789
	strResult := strconv.Itoa(numToStr) // Itoa restituisce stringa

	num64ToStr := int64(1011)
	strResult64 := strconv.FormatInt(num64ToStr, 10) // FormatInt restituisce stringa, base
}

Funzioni principali:

Funzione Descrizione Valore restituito Pacchetto
Atoi(s string) Converte una stringa in un numero intero decimale. (int, error) strconv
ParseInt(s string, base int, bitSize int) Converte una stringa in un numero intero di base e dimensione in bit specificate. (int64, error) strconv
Itoa(i int) Converte un numero intero decimale in stringa. string strconv
FormatInt(i int64, base int) Converte un numero intero di dimensione in bit in una stringa con la base specificata. string strconv

Atoi è una abbreviazione comoda per ParseInt(s, 10, 0) con il risultato convertito in int. Itoa è un'abbreviazione per FormatInt(int64(i), 10).

Quando si converte una stringa in numero, è importante gestire gli errori, poiché la stringa potrebbe contenere caratteri non numerici o superare la dimensione del tipo di dato.