Input e output di base Swift (con esempi)

In questo articolo imparerai diversi modi per visualizzare l'output e ottenere input in Swift.

Rapido output di base

È possibile utilizzare semplicemente la print(_:separator:terminator:)funzione per inviare l'output all'output standard (schermo). Consulta l'articolo sulle funzioni di Swift per conoscere le funzioni in Swift.

La funzione print(_:separator:terminator:)accetta tre parametri.

  • elementi: elementi da stampare nella console. Può accettare più di un articolo.
  • separatore: una stringa da stampare tra ogni elemento. L'impostazione predefinita è un singolo spazio (" ").
  • terminatore: la stringa da stampare dopo che tutti gli elementi sono stati stampati. L'impostazione predefinita è una nuova riga ("").

Poiché gli ultimi due parametri (separatore, terminatore) hanno valori predefiniti già specificati, non è obbligatorio utilizzarli durante la chiamata alla funzione di stampa.

Esempio 1: stampa sullo schermo utilizzando la semplice funzione print ()

 print("Hello, World!") print("I love Swift.") 

Quando esegui il programma, l'output sarà:

Ciao mondo! Amo Swift.

Nel programma precedente, print("Hello, World!")restituisce una stringa letterale Hello, World! nella console.

Puoi vedere che cambia anche la riga (aggiunge un'interruzione di riga) quando si stampa "I love Swift". perché il parametro del metodo di stampa terminatorha un valore predefinito (nuova riga).

Quindi, l'istruzione print("I love Swift.")restituisce il messaggio in una nuova riga.

Esempio 2: stampa di costanti, variabili e letterali

 var helloMsg = "Hello, World!" print(helloMsg) print(123.45) 

Quando esegui il programma, l'output sarà:

Ciao mondo! 123.45

È possibile stampare il valore della variabile o della costante aggiungendo il nome della variabile o della costante direttamente nella funzione di stampa. Nel programma sopra riportato print(helloMsg)restituisce il valore Hello, World! della variabile helloMsg.

Puoi anche inserire letterali nell'istruzione print. Nell'istruzione, print(123.45)prende un letterale in virgola mobile 123.45senza virgolette doppie e lo stampa.

Esempio 3: stampa senza interruzione di collegamento utilizzando il parametro terminator

Se vuoi stampare senza un'interruzione di riga, devi passare una stringa vuota nel parametro terminatore della funzione di stampa come:

 print("Hello, World!", terminator: "") print("I love Swift.") print("I also love Taylor Swift.") 

Quando esegui il programma, l'output sarà:

Ciao mondo, adoro Swift. Amo anche Taylor Swift.

Nel programma precedente, terminatorè la stringa che viene stampata dopo che tutti gli elementi sono stati stampati.

Abbiamo passato una stringa vuota come terminatore (l'impostazione predefinita è una nuova riga ). Quindi, la prima istruzione viene stampata senza aggiungere una nuova riga e l'istruzione print("I love Swift.")visualizza il messaggio nella stessa riga.

Poiché la print("I love Swift.")funzione aggiunge un'interruzione di riga, l'istruzione print("I also love Taylor Swift")restituisce una nuova riga.

Esempio 4: stampa di più elementi utilizzando la funzione di stampa singola

Puoi anche stampare più elementi in una singola istruzione di stampa e aggiungere un separatore tra questi elementi come:

 print("Hello, World!", 2020, "See you soon", separator: ". ")

Quando esegui il programma, l'output sarà:

Ciao mondo!. 2020. A presto

Nel programma sopra, abbiamo aggiunto diversi tipi di dati nell'istruzione print separati da una virgola.

Gli elementi da stampare sono stringhe Hello, World! , int 2020 e string A presto .

Abbiamo anche passato il "."valore nel parametro separatore. Questo inserisce il separatore (punto) tra ogni elemento. Quindi puoi vedere l'output separato da. carattere seguito da uno spazio.

Esempio 5: stampa di più righe

Se vuoi stampare su più righe con una singola istruzione print, puoi usare la sequenza di escape nota come ritorno a capo nell'istruzione print come:

 print("Hello, World!")

Quando esegui il programma, l'output sarà:

 Ciao mondo! 

Esempio 6: stampa di più righe utilizzando virgolette triple

In Swift, esiste un modo migliore per produrre messaggi su più righe in una singola istruzione print. Devi usare una stringa letterale su più righe. Questo viene fatto aggiungendo caratteri all'interno di una stringa letterale su più righe usando virgolette triple come

 print(""" Hello, World! """) 

Quando esegui il programma, l'output sarà:

 Ciao mondo! 

Esempio 7: stampa di variabili utilizzando l'interpolazione di stringhe

You can also add value of a variable or constant into the string literal by using string interpolation, i.e. wrapping variable in a pair of parentheses, prefixed by a backslash ().

 var helloMsg = "Hello, World!" print("I have a message (helloMsg)") 

When you run the program, the output will be:

 I have a message Hello, World!

The statement print("I have a message (helloMsg)") inserts the value of variable helloMsg by wrapping it as (helloMsg) in string literal. Therefore, the statement outputs I have a message Hello, World! on the screen.

Swift Basic Input

If you want to take input from user in Swift, you cannot do it in Xcode playground without using UIKit framework.

However, using Swift framework, you can create a Command Line Application in Xcode that takes input from an user. You can see Swift Command Line Application article for creating command line application using Xcode.

Here’s the code you can use to get input from user.

Example 8: Taking input from the user using readLine()

 print("Please Enter your favorite programming language", terminator: ".") let name = readLine() print("Your favorite programming language is (name!).") 

When you run the program, the output will be:

 Please Enter your favorite programming language. Swift Your favorite programming language is Swift. 

In the above program, the print function outputs Please Enter your favorite programming language. in the debug area. The statement let name = readLine() waits for user input in the debug area.

If you type "Swift" and press enter, the readLine function assigns that string to constant name and displays the output as Your favorite programming language is Swift.

Since the readLine function returns an optional string, we have forcefully unwrapped the constant as name! in the statement print("Your favorite programming language is (name!)").

Imparerai di più sugli optional nell'articolo: Swift Optionals.

Articoli interessanti...