wieswift func: Ich kann nicht verstehen, als Parameternamen unterstreichen, die kompilieren
func test(currentName name: String, _: Int) {
print("aa\(name) abc");
//how to use _ parameter?
}
test(currentName:"aa", 3)
wieswift func: Ich kann nicht verstehen, als Parameternamen unterstreichen, die kompilieren
func test(currentName name: String, _: Int) {
print("aa\(name) abc");
//how to use _ parameter?
}
test(currentName:"aa", 3)
_
bedeutet, wenn Sie Unterstreichungs Parameter verwenden test
Funktion aufrufen, müssen Sie den Text nicht vor dem schreiben zweite Parameter test(currentName:"aa", 3)
, wenn Sie Ihre Funktion wie folgt erklären:
func test(currentName name: String, secondParameter: Int) {
print("aa\(name) abc");
//how to use _ parameter?
}
dann, wenn Sie test
Funktion aufrufen , Müssen Sie wie folgt nennen:
test(currentName:"aa", secondParameter: 3)
func like following func test (aktuellerName: String, _: Int) { print ("aa \ (name) abc"); // Wie benutzt man _ Parameter? } –
@Blue Freude können wir _ in Funktion Körper als Parameter verwenden. – Sahil
Wenn Sie zweite Parameter der Funktion verwenden möchten, wollen aber nicht „name“, um es, müssen Sie Signatur-Funktion func test(currentName name: String, age _: Int)
ändern und dann auf die zweite Argument verweisen als age
.
func test(currentName name: String, _ age: Int) {
print("Name: \(name), age: \(age)")
}
test(name: "Piter", 3)
Sie haben currentName und Name in der ersten Zeile dort ausgetauscht. – MikeJfromVA
Danke, @MikeJfromVA! Ich habe es repariert. –
In Swift haben Funktionen sowohl Parameterbeschriftungen als auch Parameternamen. Dies dient der Übersichtlichkeit bei der Verwendung der Funktionen. Denken Sie an eine normale C-Funktion, wird als solche deklariert:
string FunctionName(string firstName, string lastName)
Mit Blick auf die Funktionsdeklaration, es ist leicht zu sehen, was jeder Parameter ist. In diesem Fall ein firstName und ein lastName. Wenn es jedoch im Code aufgerufen wird, ist es weniger offensichtlich, insbesondere wenn die Parameterwerte nicht selbstbeschreibend sind. zB:
FunctionName("Neil","Armstrong") // Fairly obvious
FunctionName("Bo","Ng") // Not so obvious
In Swift haben Parameter sowohl Bezeichnungen als auch Namen. Labels gibt es rein aus Gründen der Klarheit, so dass der Code, der die Funktion aufruft, kann gelesen werden und leichter zu verstehen, ohne in seine Definition zu tauchen, die es vollständig zu verstehen
let fullName = funcName(firstName: "Bo", lastName: "Ng")
In einigen Fällen ist der Parametername völlig unnötig zB:
let total = addTwoNumbers(1,2)
So werden die Etiketten sind optional, bezeichnet durch einen Unterstrich
func addTwoNumbers(_ firstVal:Int,_ secondVal:Int)
Generell sollten Sie Etiketten verwenden, um die fu zu machen Sie schreiben klarer, wenn Sie nicht der Meinung sind, dass die Parameter vollständig selbstbeschreibend sind.
http://stackoverflow.com/questions/24270732/what-do-and-in-mean-in-swift-programming-language es ist ein Platzhalter-Parametername. _ bedeutet, dass es nicht verwendet wird. – Sahil