title: What is the difference between a constant and a static variable and which should I choose?
body: <p>I know this from <a href="https://github.com/rust-lang/rfcs/blob/master/text/0246-const-vs-static.md" rel="noreferrer">RFC 246</a>:</p>
  
  <blockquote>
    <ul>
    <li><strong>constants</strong> declare <em>constant values</em>. These represent a value, not a memory address. This is the most common thing one would reach for and would replace <code>static</code> as we know it today in almost all  cases.</li>
    <li><strong>statics</strong> declare <em>global variables</em>. These represent a memory   address.  They would be rarely used: the primary use cases are global locks, global atomic counters, and interfacing with legacy C  libraries.</li>
    </ul>
  </blockquote>
  
  <p>I don't know what is actually different between the two when I try to maintain a table.</p>
  
  <p>Which one should I choose?</p>