let someString = "Some string literal value"
// atau juga bisa menggunakan turunan dari string:
let anotherStrng = String("Some string literal value")
// MULTILINE STRINGS
let quatation = """The white Rabbit put on his spectacles. "Where shall I begin, please your Majesty?" he asked.
"Begin at the beginning," the King said gravely, "and on till you come to the end; then stop."
"""
// tambahkan karakter "\" jika ingin menyatakan string multiline sebagai satu baris
let char1: Character = "A
let char2: Character = "B"
// Character --> bagian dari string literal
let char: Character = "AB" // will throw an error karena lebih dari 1
// mengakses character
for character in "DOG/CAT?" {
print(character)
}
let exclamationMark: Character = "!"
let catCharacter: [Character] = ["!", "A", "t", "/"]
let catString = String(catCharacter)
print(catString) // akan menampilkan satu kata "!At/"
let scalar = "\u{24}" // penulisan character scalar
// UNICODE
let eAcute: Character = "\u{E9}"
print(eAcute)
let combinedEAcuter: Character = "\u{65}\u{301}"
print(combinedEAcuter)
print("Latihan bermain kata")
print("==============================================================")
print("Given Name: "); let firstName = String(readLine() ?? "")
print("Family Name: "); let lastName = String(readLine() ?? "")
print("==============================================================")
print("Berikut adalah operator-operator yang digunakan!")
// concatenate string
let stringConcatenate = firstName + lastName
print("String concatenation is \"\(stringConcatenate)\"")
print("==============================================================")
// operator mutability
var mutability = ""
mutability += fisrtName
mutability += lastName
print("String mutability is \"\(mutability)\"")
print("==============================================================")
//operator comparison
var comparison = ""
if firstName == lastName {
comparison = String(true)
} else {
comparison = String(false)
}
print("String Comparison is \"\(comparison)\"")
print("==============================================================")
// combining words
let fullName = firstName + " " + lastName
let empty = firstName.isEmpty || lastName.isEmpty
print("Fungsi isEmpty adalah: \"\(String(empty))\"")
print("==============================================================")
// starting index
let startIndex = fullName(fullName.startIndex)
print("Hasil dari startIndex adalah: \"\(startIndex)\"")
print("==============================================================")
// fungsi index()
let index_string = fullName[fullName.index(after: fullName.startIndex)]
print("Hasil dari aplikasi fungsi Index adalah: \"\(index_string)\"")
print("==============================================================")
print("Hal-hal lain bisa dilihat pada laman dicoding.com")
var someInts =[Int]()
print("someInts dengan tipe [Int] memiliki tipe daya fixed Integer!")
someInts.append(3) // mengisi array kosong
someInts = [] // mengembalikan array kosong
//membuat array dengan argument repeating
var threeDoubles = Array(repeating: 0.2, count: 3)
print(threeDoubles)
var otherThree = Array(repeating: 1.5, count: 3)
otherThree += threeDoubles
print(otherThree)
// akan menghasilkan array yang memiliki panjang: 6
var listShopping: [String] = ["Milk", "Soap", "Meat"]
// namun berkat type inference, kita tidak perlu lagi mendefinisikan tipe dari array, i.e
var listShopping = ["Milk", "Meat", "Shampoo"]
if listShopping.isEmpty {
print("You have nothing on your cart!")
} else {
print("You\'ve\' got things on your cart! Go to checkout!")
}
// menambahkan
listShopping.append("Carrots") // atau juga bisa dengan menggunakan:
listShopping += ["Baking Powder", "Sweep", "Mousepad"]
// mengakses nilai array!
var firstItem = listShopping[0]
print(firstItem)
// modifying
listShopping[1] = "Laptop"
// manipulasi rentang nilai, dan mengganti dengan rentang baru!
listShopping[1...4] = "Bananas" // isi dari listShopping dari 1 - 4, akan diganti ke Bananas
// menggunakan fungsi insert!
listShopping.insert("Maple Syrup", at: 2)
// isi pada index ke-2 akan diganti, dan sisa nilai akan digeser ke kanan
let maple_remove = listShopping.remove(at: 2)
print(maple_remove)
let apples = listShopping.removeLast() // akan menghapus item terakhir dari array!
// mendapatkan data dari tiap-tiap item:
for item in listShopping {
print(item)
}
// mendapatkan index juga?
for (index, value) in listShopping {
print("Item \(index + 1): \"\(value)\"")
}