Junior
Πώς μετατρέπουμε μια συμβολοσειρά σε ακέραιο και το αντίστροφο;
sobes.tech AI
Απάντηση από AI
Για τη μετατροπή μιας συμβολοσειράς σε ακέραιο αριθμό, χρησιμοποιείται το πακέτο strconv, η λειτουργία Atoi ή ParseInt. Για τη μετατροπή ενός ακέραιου σε συμβολοσειρά, επίσης χρησιμοποιείται το πακέτο strconv, η λειτουργία Itoa ή FormatInt.
import "strconv"
func main() {
// Μετατροπή συμβολοσειράς σε αριθμό
strNum := "123"
intNum, err := strconv.Atoi(strNum) // Atoi επιστρέφει int και error
if err != nil {
// διαχείριση σφάλματος
}
intNum64, err := strconv.ParseInt("456", 10, 64) // ParseInt επιστρέφει int64, βάση, μήκος σε bits
if err != nil {
// διαχείριση σφάλματος
}
// Μετατροπή αριθμού σε συμβολοσειρά
numToStr := 789
strResult := strconv.Itoa(numToStr) // Itoa επιστρέφει string
num64ToStr := int64(1011)
strResult64 := strconv.FormatInt(num64ToStr, 10) // FormatInt επιστρέφει string, βάση
}
Βασικές λειτουργίες:
| Λειτουργία | Περιγραφή | Επιστρεφόμενη τιμή | Πακέτο |
|---|---|---|---|
Atoi(s string) |
Μετατρέπει μια συμβολοσειρά σε δεκαδικό ακέραιο. | (int, error) |
strconv |
ParseInt(s string, base int, bitSize int) |
Μετατρέπει μια συμβολοσειρά σε ακέραιο με την καθορισμένη βάση και μήκος σε bits. | (int64, error) |
strconv |
Itoa(i int) |
Μετατρέπει έναν δεκαδικό ακέραιο σε συμβολοσειρά. | string |
strconv |
FormatInt(i int64, base int) |
Μετατρέπει έναν ακέραιο με το καθορισμένο μήκος σε bits σε συμβολοσειρά με την καθορισμένη βάση. | string |
strconv |
Το Atoi είναι μια βολική συντόμευση για το ParseInt(s, 10, 0) με το αποτέλεσμα να μετατρέπεται σε int. Το Itoa είναι μια συντόμευση για το FormatInt(int64(i), 10).
Κατά τη μετατροπή μιας συμβολοσειράς σε αριθμό, είναι σημαντικό να διαχειρίζεστε τα σφάλματα, καθώς η συμβολοσειρά μπορεί να περιέχει μη αριθμητικούς χαρακτήρες ή να υπερβαίνει το μέγεθος του τύπου δεδομένων.