title: Rest APIs in Go - using net/http vs. a library like Gorilla
body: <p>I see that Go itself has a package <code>net/http</code>, which is adequate at providing everything you need to get your own REST APIs up and running. However, there are a variety of frameworks; the most popular maybe say <code>gorilla</code>.</p>
  <p>Considering that one of the main things I need to do going forward is to build REST APIs that will access some back-end storage (databases, caches, etc.) to perform <code>CRUD</code> operation, is it good to go with Go's standard library itself, or should I consider using some frameworks?</p>
  <p>Normally, people write a new library or framework which solves the problem present in the existing library. But a lot of the frameworks also tend to make things worse when actual demands are simple.</p>
  <p>So I have few questions:</p>
  <ol>
  <li><p>Is the basic library in go lang good enough to support basic to moderate functionality for REST?</p>
  </li>
  <li><p>If I do end up using the inbuilt library and tomorrow have to change it to use some framework (like a gorilla), how difficult/costly would that be?</p>
  </li>
  <li><p>Are frameworks really addressing the problems or just making simple problems complex?</p>
  </li>
  </ol>
  <p>I would be extremely grateful for someone to share his thoughts here (who has been through making this choice himself) while I research more of my own.</p>