在苹果的Swift语言中,let和var有什么区别?
在我的理解中,它是一种编译语言,但它不在编译时检查类型。这让我很困惑。编译器如何知道类型错误?如果编译器不检查类型,这不是生产环境的问题吗?
当我试图给let赋值时给出了这个错误:
不能给属性赋值:'variableName'是一个'let'常量 将'let'改为'var'使其可变
在苹果的Swift语言中,let和var有什么区别?
在我的理解中,它是一种编译语言,但它不在编译时检查类型。这让我很困惑。编译器如何知道类型错误?如果编译器不检查类型,这不是生产环境的问题吗?
当我试图给let赋值时给出了这个错误:
不能给属性赋值:'variableName'是一个'let'常量 将'let'改为'var'使其可变
当前回答
找到了一个很好的答案,希望能有所帮助:)
其他回答
找到了一个很好的答案,希望能有所帮助:)
Let用于声明一个常量值-在给出初始值后,您将不会更改它。 Var用于声明一个变量值—您可以根据需要更改它的值。
let关键字用于声明一个常量,var关键字用于声明一个变量。用这些引用、指针或值创建的变量。
它们之间的区别是,当你使用let创建一个变量时,它将在声明后成为常量,以后不能修改或重新赋值。相反,带有var的变量可以立即赋值,也可以稍后赋值,或者根本不赋值。在swift中,您必须非常明确地声明您所声明的内容。
非常简单:
设为常数。 Var是动态的。
描述一下:
创建一个常数。(有点像NSString)。一旦你设置了它,你就不能改变它的值。你仍然可以把它添加到其他东西,并创建新的变量。
Var创建一个变量。(有点像NSMutableString)所以你可以改变它的值。但这个问题已经被回答了好几次。
Var值可以改变,初始化后。但让价值不被改变,当它被初始化一次。
在var情况下
function variable() {
var number = 5, number = 6;
console.log(number); // return console value is 6
}
variable();
如果让
function abc() {
let number = 5, number = 6;
console.log(number); // TypeError: redeclaration of let number
}
abc();