Swift tidak seperti bahasa seperti JavaScript, di mana Anda dapat memanggil suatu fungsi tanpa melewatkan parameter dan itu akan tetap dipanggil. Jadi untuk memanggil fungsi di Swift, Anda perlu menetapkan nilai ke parameternya.
Nilai default untuk parameter memungkinkan Anda untuk menetapkan nilai tanpa menentukannya saat memanggil fungsi. Itulah mengapa test()
berfungsi ketika Anda menentukan nilai default pada deklarasi test.
Jika Anda tidak menyertakan bahwa nilai default, Anda perlu memberikan nilai pada panggilan: test(nil)
.
Selain itu, dan tidak terkait langsung dengan pertanyaan ini, tetapi mungkin perlu diperhatikan, Anda menggunakan cara "C ++" untuk menangani kemungkinan pointer nol, untuk menangani kemungkinan opsional nil di Swift. Kode berikut lebih aman (khususnya dalam perangkat lunak multithreading), dan memungkinkan Anda menghindari pembongkaran paksa opsional:
func test(firstThing: Int? = nil) {
if let firstThing = firstThing {
print(firstThing)
}
print("done")
}
test()
func test(firstThing: Int = 4)
: non-Optional
parameter dengan nilai default. TheOptional
jenis (yang adalah apa?
dalam jenis nama mengembang ke) adalah jenis nilai; "parameter opsional" adalah nama yang tidak menguntungkan untuk parameter yang mungkin ada atau tidak ada pada panggilan fungsi, apa pun tipenya.