swift中变量的正确声明
大家好,我是swift语言的新手,首先我不知道这是否是我正在创建的一个允许的主题,但我需要了解这一点,并且在web上找不到关于这一点的任何信息 在swift中,我意识到有两种方法可以声明变量及其类型。但是我不知道它们之间的区别,也不知道该在哪里使用 如果我错了,请纠正我。。 首先:什么时候swift中变量的正确声明,swift,Swift,大家好,我是swift语言的新手,首先我不知道这是否是我正在创建的一个允许的主题,但我需要了解这一点,并且在web上找不到关于这一点的任何信息 在swift中,我意识到有两种方法可以声明变量及其类型。但是我不知道它们之间的区别,也不知道该在哪里使用 如果我错了,请纠正我。。 首先:什么时候 var anything = "When I do it like this my anything variable becomes type of string" 但是如果我打字 var anythi
var anything = "When I do it like this my anything variable becomes type of string"
但是如果我打字
var anything = 12 //it's type Int
等等。。除此之外,我还可以将这些变量声明为
var anything:Int
或
到目前为止,我对此很满意,但是将全局变量声明为
var anything:String
或
我如何决定使用哪一个和在哪里?谢谢可以推断Swift类型(根据上下文确定)。在
Int
是多余的,因为它可以从上下文中推断出来(Int
是整数文本的默认值)。但是,有时您需要更具体的设置,如Int8
。然后可以显式声明类型或使用initialiser推断类型:
var anything: Int8 = 12
或
就我个人而言,只要有可能,我就使用类型推断,而且还没有遇到任何问题。可以推断Swift类型(根据上下文确定)。在
Int
是多余的,因为它可以从上下文中推断出来(Int
是整数文本的默认值)。但是,有时您需要更具体的设置,如Int8
。然后可以显式声明类型或使用initialiser推断类型:
var anything: Int8 = 12
或
就我个人而言,只要有可能,我就使用类型推断,而且还没有遇到任何问题。你的问题很基本,但我理解学习一门新语言的困难,你需要帮助。这是标准的学习曲线 Swift使用一种称为类型推断的技术。它可以根据初始值确定变量的类型
var v = 8
自动将v设为Int
var v:Int = 8
同样如此
您始终可以使用推断类型。尽量使代码可读,如果类型推断提高了可读性,那么就使用它。
如果在编写代码2周后需要更多的上下文才能理解代码,请使用显式声明的类型
在声明没有初始值的变量时,始终必须显式声明类型。在这种情况下,编译器没有机会猜测类型。您的问题非常基本,但我理解学习新语言的困难,您需要帮助。这是标准的学习曲线 Swift使用一种称为类型推断的技术。它可以根据初始值确定变量的类型
var v = 8
自动将v设为Int
var v:Int = 8
同样如此
您始终可以使用推断类型。尽量使代码可读,如果类型推断提高了可读性,那么就使用它。
如果在编写代码2周后需要更多的上下文才能理解代码,请使用显式声明的类型
在声明没有初始值的变量时,始终必须显式声明类型。在这种情况下,编译器没有机会猜测类型。我将从后面开始。两者的区别是什么
var anything:String
和var anything:String=String()
第一个声明一个名为anything
的String
类型的变量,第二个通过调用String的构造函数初始化它。在第一种情况下,您必须告诉Swift的编译器该如何处理这个变量——它是有值还是为零。因此,如果您不知道这一点,最好将其声明为可选:
var anything:String?
关于像这样初始化的类型,
var anything=12
,Swift根据上下文确定类型,在这种情况下,它是一个Int
,我将从后面开始。两者的区别是什么
var anything:String
和var anything:String=String()
第一个声明一个名为anything
的String
类型的变量,第二个通过调用String的构造函数初始化它。在第一种情况下,您必须告诉Swift的编译器该如何处理这个变量——它是有值还是为零。因此,如果您不知道这一点,最好将其声明为可选:
var anything:String?
关于像这样初始化的类型
var anything=12
,Swift根据上下文确定类型,在这种情况下,它是Int
var:Int不起作用;)您仍然需要为变量指定一个名称var:Int无效;)您仍然需要给变量一个名称var anything:String var anything:String=12和var anything:String=String()的区别是什么1) 声明String
variable 2)语法错误3)声明String
变量并为其分配空字符串。变量anything:String var anything:String=12和变量anything:String=String()的区别是什么1) 声明String
variable 2)语法错误3)声明String
变量并为其分配空字符串。顺便说一句,不要忘记如果它是常量,则应始终使用“let”。顺便说一句,如果它是常量,则应始终使用“let”。
var v:Int = 8