1simple_string = "Γεια σου, κόσμε!"
2complex_string = 'Αυτό είναι μια "πολυδιάστατη" συμβολοσειρά.'
3
1import re
2
3text = "Ο αριθμός είναι 12345."
4match = re.search(r'\d+', text)
5print(match.group()) # εκτυπώνει 12345
6
if
.1age = 20
2
3if age < 18:
4 print("Είσαι ανήλικος.")
5elif age >= 18 and age < 65:
6 print("Είσαι ενήλικος.")
7else:
8 print("Είσαι συνταξιούχος.")
9
==
, !=
, <
, >
και λογικούς τελεστές όπως and
και or
.1fruits = ["μήλο", "πορτοκάλι", "μπανάνα"]
2
3if "μήλο" in fruits:
4 print("Το μήλο είναι στη λίστα.")
5
1user_input = input("Ποιο είναι το όνομά σου; ")
2
3if user_input:
4 print(f"Γεια σου, {user_input}!")
5else:
6 print("Δεν παρείχες όνομα.")
7
110.times do |i|
2 puts "Αυτή είναι η επανάληψη αριθμός #{i + 1}"
3end
4
times
εκτυπώνει μια γραμμή 10 φορές.1def greet(&block)
2 puts "Γειά σου!"
3 block.call if block_given?
4end
5
6greet { puts "Καλημέρα!" }
7
greet
δέχεται ένα μπλοκ και το εκτελεί εάν υπάρχει.1var name: String? = nil
2
name
μπορεί να έχει μια τιμή τύπου String
ή να είναι nil
.1name = "John"
2
nil
.1if name != nil {
2 print("Το όνομα είναι $name!)")
3} else {
4 print("Δεν υπάρχει όνομα.")
5}
6
if let
if let
, που σας επιτρέπει να κάνετε υποχρεωτική "unwrap" της προαιρετικής μεταβλητής.if let
1if let actualName = name {
2 print("Το όνομα είναι $actualName)")
3} else {
4 print("Δεν υπάρχει όνομα.")
5}
6
guard let
guard let
είναι μια άλλη μέθοδος που σας επιτρέπει να ελέγξετε την τιμή ενός προαιρετικού.guard let
1func printName() {
2 guard let actualName = name else {
3 print("Δεν υπάρχει όνομα.")
4 return
5 }
6 print("Το όνομα είναι $actualName)")
7}
8
force unwrap
!
) μπορεί να προκαλέσει εξαίρεση αν η τιμή είναι nil. Προτιμήστε να χρησιμοποιείτε if let
ή guard let
.Any
(η ρίζα όλων των τύπων στην Kotlin) και θέλετε να την μετατρέψετε σε πιο συγκεκριμένο τύπο, θα χρειαστεί να κάνετε μια μετατροπή.1val anyValue: Any = "Hello, Kotlin"
2val stringValue: String = anyValue as String
3
anyValue
μετατρέπεται σε τύπο String
.as?
. Αν η μετατροπή αποτύχει, η μεταβλητή θα πάρει την τιμή null
αντί να ρίξει εξαίρεση.as?
1val anyValue: Any = 123
2val stringValue: String? = anyValue as? String
3
stringValue
θα είναι null
, καθώς η μετατροπή δεν είναι δυνατή.1if (anyValue is String) {
2 val stringValue: String = anyValue
3}
4
as
και as?
, μπορείτε να βελτιώσετε την ασφάλεια του κώδικα σας και να διευκολύνετε την αναγνωσιμότητά του. Θυμηθείτε, η προσεκτική προσέγγιση στις μετατροπές τύπου είναι το κλειδί για την ανάπτυξη ποιοτικού λογισμικού.as
και as
;as
προκαλεί σφάλμα αν η μετατροπή αποτύχει, ενώ το as?
επιστρέφει null
.as
, ενώ με as?
θα επιστρέψει null
.as?
ή κάνοντας έλεγχο του τύπου πριν τη μετατροπή.