title: Basic API in golang antipattern?
body: <p>Correct me if I'm wrong, but for my understanding of an API is that it is something that allows me to modify and request data through an interface,  which is what I want to do in Go. For example I have a user interface:</p>
  <pre><code>interface IUser {
    GetId() int
    GetName() string
    GetSignupDate() time
    GetPermissions() []IPermission
    Delete()
  }
  </code></pre>
  <p>This already looks to me like active record and if I want to create a new user with a new id I would have to use <code>new</code> since Go doesn't support static functions as far as I know. This means I would also need a commit function in my interface, which makes it even worse for me. What am I doing wrong here?</p>