用“!”声明变量有什么区别?没有“!”?

What is the difference between declaration of a variable with "!" and without "!"?

我对变量声明与 ! 之间的区别感到困惑。没有! ?

我知道可选的 variable/constant 的含义,而且!用于打开可选的,但我找不到任何答案来回答我的问题。

下面的声明表示一个变量在没有初始化的情况下被声明。

var tableView: UITableView

但是这个声明是什么意思?

var tableView: UITableView!

这是一个隐式展开的可选。