W tym artykule poznasz różne sposoby wyświetlania danych wyjściowych i uzyskiwania danych wejściowych w języku Swift.
Swift Basic Output
Możesz po prostu użyć print(_:separator:terminator:)
funkcji, aby wysłać dane wyjściowe na standardowe wyjście (ekran). Zobacz artykuł o funkcjach języka Swift, aby dowiedzieć się więcej o funkcjach w języku Swift.
Funkcja print(_:separator:terminator:)
przyjmuje trzy parametry.
- pozycje: elementy do wydrukowania w konsoli. Może przyjąć więcej niż jedną pozycję.
- separator: ciąg do wydrukowania między każdym elementem. Domyślnie jest to pojedyncza spacja
(" ")
. - terminator: ciąg do wydrukowania po wydrukowaniu wszystkich elementów. Domyślnie jest to znak nowej linii
("")
.
Ponieważ ostatnie dwa parametry (separator, terminator) mają już określone wartości domyślne, użycie ich podczas wywoływania funkcji print nie jest obowiązkowe.
Przykład 1: Drukowanie na ekranie przy użyciu prostej funkcji print ()
print("Hello, World!") print("I love Swift.")
Po uruchomieniu programu wynik będzie następujący:
Witaj świecie! Uwielbiam Swift.
W powyższym programie print("Hello, World!")
zwraca literał ciągu Hello, World! w konsoli.
Możesz również zobaczyć, że zmienia linię (dodaje znak końca wiersza) podczas drukowania „Uwielbiam Swift”. ponieważ parametr metody print terminator
ma wartość domyślną (nowa linia).
Tak więc instrukcja print("I love Swift.")
wyświetla komunikat w nowym wierszu.
Przykład 2: Drukowanie stałych, zmiennych i literałów
var helloMsg = "Hello, World!" print(helloMsg) print(123.45)
Po uruchomieniu programu wynik będzie następujący:
Witaj świecie! 123,45
Możesz wydrukować wartość zmiennej lub stałej, dodając nazwę zmiennej lub stałej bezpośrednio w funkcji drukowania. W powyższym programie print(helloMsg)
wyprowadza wartość Hello, World! zmiennej helloMsg.
Możesz również wstawić literały w instrukcji print. W instrukcji, print(123.45)
pobiera zmiennoprzecinkowy literał 123.45
bez podwójnego cudzysłowu i drukuje go.
Przykład 3: Drukowanie bez zrywania łącza za pomocą parametru terminatora
Jeśli chcesz drukować bez łamania wiersza, musisz przekazać pusty ciąg w parametrze terminatora funkcji print jako:
print("Hello, World!", terminator: "") print("I love Swift.") print("I also love Taylor Swift.")
Po uruchomieniu programu wynik będzie następujący:
Witaj świecie! Uwielbiam Swift. Uwielbiam też Taylor Swift.
W powyższym programie terminator
jest ciągiem, który jest drukowany po wydrukowaniu wszystkich elementów.
Jako terminator przekazaliśmy pusty łańcuch (domyślnie jest to znak nowej linii ). Zatem pierwsza instrukcja jest drukowana bez dodawania nowego wiersza, a instrukcja
print("I love Swift.")
wyświetla komunikat w tej samej linii.
Ponieważ print("I love Swift.")
funkcja dodaje podział wiersza, instrukcja print("I also love Taylor Swift")
wyświetla nowy wiersz.
Przykład 4: Drukowanie wielu elementów za pomocą jednej funkcji drukowania
Możesz również wydrukować wiele elementów w jednej instrukcji print i dodać separator między tymi elementami, jak:
print("Hello, World!", 2020, "See you soon", separator: ". ")
Po uruchomieniu programu wynik będzie następujący:
Witaj świecie!. 2020. Do zobaczenia wkrótce
W powyższym programie dodaliśmy różne typy danych w instrukcji print oddzielone przecinkiem.
Pozycje do wydrukowania to napis Hello, World! , int 2020 i string Do zobaczenia wkrótce .
Przekazaliśmy również "."
wartość w parametrze separator. Spowoduje to wstawienie separatora (kropki) między każdy element. Możesz więc zobaczyć dane wyjściowe oddzielone. znak, po którym następuje spacja.
Przykład 5: Drukowanie wielu linii
Jeśli chcesz drukować w wielu wierszach za pomocą jednej instrukcji print, możesz użyć sekwencji ucieczki znanej jako powrót karetki w instrukcji print jako:
print("Hello, World!")
Po uruchomieniu programu wynik będzie następujący:
Witaj świecie!
Przykład 6: Drukowanie wielu wierszy przy użyciu potrójnych cudzysłowów
W języku Swift istnieje lepszy sposób wyświetlania wiadomości wielowierszowej w pojedynczej instrukcji print. Musisz użyć wielowierszowego literału ciągu. Odbywa się to poprzez dodanie znaków wewnątrz wielowierszowego literału ciągu przy użyciu potrójnych cudzysłowów jako
print(""" Hello, World! """)
Po uruchomieniu programu wynik będzie następujący:
Witaj świecie!
Przykład 7: Drukowanie zmiennych za pomocą interpolacji ciągów
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!)")
.
Dowiesz się więcej o opcjach w artykule: Swift Optionals.