当前位置:  开发笔记 > IOS > 正文

为什么我可以在不写可选标记的情况下声明变量?

如何解决《为什么我可以在不写可选标记的情况下声明变量?》经验,为你挑选了1个好方法。

首先,我认为我的问题与"快速选择什么"的问题不同.因为我在问为什么我能做到这一点,而不是这个.

我是新手.当我今晚学习这种神话般的语言时,我遇到了一个问题,我从未在编程语言中看到过这个标记 - " ".我搜索了一会儿.我知道现在有什么可选绑定.

但现在我有了一个新问题.当我想声明一个非可选的变量时.我可以写这个语法:

var friend: String

但我写不出来:

var friend: String = nil

要声明一个nil的变量,我只能使用optional:

var friend: String? = nil

让我们看看第一段代码.当刚声明新的变量朋友时,它的值是nil,对吧?因为我没有为它分配任何价值.但是根据可选的定义,比如第二段和第三段代码,我们不能将nil分配给非可选变量.

所以我的问题是为什么我可以声明一个没有可选标记但没有初始值的变量.这个问题可能很简单,但我真的不知道为什么会这样.

提前致谢!



1> Marc Khadpe..:

Swift允许您声明一个非可选变量或常量而不在声明中初始化它,但您必须在使用它之前为其赋值.变量或常量的值不是 nil(非选项永远不能为nil) - 它根本没有定义的值.基本上你说你稍后会给它一个值,可能是基于计算结果或if语句.

如果您尝试使用非可选变量或常量而不首先为其分配值,Swift将给出编译时错误.

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有