title: Swift static property initilizers are lazy why I could declared it as a constant
body: <p>As far as I known (see reference A), Static property initilizers are lazy, and I found the following description by the <a href="https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Properties.html" rel="nofollow noreferrer">office documents</a>    </p>
  
  <blockquote>
    <p>You must always declare a lazy property as a variable (with the var
    keyword) because its initial value might not be retrieved until after
    instance initialization completes. Constant properties must always
    have a value before initialization completes, and therefore cannot be
    declared as lazy.</p>
  </blockquote>
  
  <p>From the above information, I think I couldn't define the static property as a constant variable and I made a tryout, it turns out I can do that without triggering any error from the compiler.</p>
  
  <p>Example: </p>
  
  <pre><code>class Person {
      static let firstNaID = "First Name"
      static let lastNaID = "Last Name"
  }
  </code></pre>
  
  <p><strong>Question</strong>: Is this a bug of the Swift 3.0.1 or I was wrong.</p>
  
  <p><strong>Reference A</strong>: Neuburg. M.2016. <em>IOS 10 Programming Fundamental with Swift</em>. P127</p>
  
  <p>Thanks for your time and help</p>