Skip to content
Snippets Groups Projects
Commit 6ecd4501 authored by Anna Morpurgo's avatar Anna Morpurgo
Browse files

note Scanf: minor fixes

parent c6292821
No related branches found
No related tags found
No related merge requests found
### Estrazione di dati da una stringa con un formato dato
# Estrazione di dati da una stringa con un formato dato
Quando le righe o le stringhe in input hanno un **formato fissato**,
- se c'è **un solo tipo di separatore**, si usa la funzione
- se nella stringa c'è **un solo tipo di separatore**, si usa la funzione
`strings.Split(s, sep string)` che restituisce la slice delle sottostringhe
- Esempio: data nel formato `gg/mm/aaaa`
```go
......@@ -11,12 +11,11 @@ Quando le righe o le stringhe in input hanno un **formato fissato**,
```
Il giorno, il mese e l'anno vengono salvati come elementi nella slice
- se ci sono **diversi tipi di separatori**, il package `fmt` mette a disposizione
- se nella stringa ci sono **diversi tipi di separatori**, il package `fmt` mette a disposizione
la funzione `Scanf`, che usa una sintassi analoga a `Printf` per leggere e memorizzare valori (invece di stamparli):
```go
fmt.Scanf(format string, lista di puntatori a var)
```
```go
var anno, mese, giorno, ore, min, sec int
......@@ -25,11 +24,13 @@ la funzione `Scanf`, che usa una sintassi analoga a `Printf` per leggere e memor
//leggo data e orario (da tastiera), con i valori
//di anno, mese, giorno, ore, min, sec in una stringa in formato AAAA-MM-GG/hh:mm:ss
fmt.Scanf("%d-%d-%d/%d:%d:%d", &anno, &mese, &giorno, &ore, &min, &sec)
```
E anche Sscanf per estrarre dati da una stringa
Il package `fmt` mette a disposizione anche la funzione `Sscanf` per estrarre dati da una stringa
```go
fmt.Scanf(s string, format string, lista di puntatori a var)
```
- Esempio:
```go
stringData := "15/12/2022"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment