问:我做了这段代码:
struct StudentsInAlBahaUNI {
var StudentName:String
var ID:Int
var Phnumber:Int
var level = 1
init(fandlName:String,PhoneN:Int,StudentNumber:Int){
self.StudentName = fandlName
self.ID = StudentNumber
self.Phnumber = PhoneN
self .level = 1
}
func AllInformation()->(String){
返回“ \(self.StudentName)\(self.Phnumber)\(self.ID)\(self.level)“
}
}
它给了我一个真实的结果,但是我感到困惑,因为当我尝试将(String,Int)类型指定为什么类型时,它将返回一个错误!
答:在上面的代码中,所有信息都使用字符串插值作为单个字符串值返回,因此,它不会产生任何错误。
在我的解决方案中,每个部分都作为一个单独的值返回,而我们需要提及3次Int的原因是我们返回了3个整数值。第二个选项的用法更多,因为您要分别返回值,如果需要,可以稍后在应用程序中引用这些值。例如:您可以将函数返回的每个值分配给单独的变量:
var name = frstStudent 。AllInformation ()。0
var id = frstStudent 。AllInformation ()。2个
或者我们可以通过如下更改函数声明来使其更加简明扼要:
FUNC AllInformation () - > (名称: 字符串, 电话: 诠释, ID : 诠释, 级别: 诠释) {
回报(自我。StudentName ,自我。Phnumber ,自我。ID ,自我。水平)}
在上面的函数中,我们已经命名了参数,因此可以通过名称来引用它们。例子:
var name = frstStudent 。AllInformation ()。名称
var level = frstStudent 。AllInformation ()。等级
这样,我们可以分别处理函数返回的每个值,而将它们作为单个字符串返回时则是不可能的。