TEL:400-8793-956
当前位置:程序、服务器

在创建struct方法时输入返回值的类型

提问者: 近期获赞: 浏览人数: 发布时间:2021-03-29 14:24:15

 问:我做了这段代码:

 
    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 ()。等级
这样,我们可以分别处理函数返回的每个值,而将它们作为单个字符串返回时则是不可能的。
上一篇: 有人可以解释为什么我们在迁移期间无法添加类型
下一篇: Ruby不会在cmd行上编译吗?