An implement of data abstract layer with golang