title: Swift variable decorations with "?" (question mark) and "!" (exclamation mark)
body: <p>I understand that in Swift all variables must be set with a value, and that by using optionals we can set a variable to be set to <code>nil</code> initially.</p>
  
  <p>What I don't understand is, what setting a variable with a <code>!</code> is doing, because I was under the impression that this "unwraps" a value from an optional. I thought by doing so, you are guaranteeing that there is a value to unwrap in that variable, which is why on IBActions and such you see it used.</p>
  
  <p>So simply put, what is the variable being initialized to when you do something like this:</p>
  
  <pre><code>var aShape : CAShapeLayer!
  </code></pre>
  
  <p>And why/when would I do this?</p>