title: What is the difference between panic and an assert?
body: <blockquote>
    <p><a href="https://golang.org/doc/faq#assertions" rel="nofollow noreferrer">Go doesn't provide assertions. They are undeniably convenient, but our experience has been that programmers use them as a crutch to avoid thinking about proper error handling and reporting.</a></p>
  </blockquote>
  
  <p>However it has <a href="http://golang.org/doc/go_spec.html#Bootstrapping" rel="nofollow noreferrer">print and println</a> which does</p>
  
  <blockquote>
    <p>panic      like print, aborts execution after printing<br>
    panicln    like println, aborts execution after printing</p>
  </blockquote>
  
  <p>Isnt that the same thing as an assert? Why would they claim the above but have panic? i can see it leading to the same problems but adding an error msg to the end of it which can easily be abused. Am i missing something?</p>