go-tagexpr
An interesting go struct tag expression syntax for field validation, etc. (by bytedance)
GORM
The fantastic ORM library for Golang, aims to be developer friendly (by go-gorm)
Our great sponsors
go-tagexpr | GORM | |
---|---|---|
3 | 69 | |
1,453 | 32,523 | |
1.7% | 0.9% | |
7.4 | 8.8 | |
25 days ago | 8 days ago | |
Go | Go | |
Apache License 2.0 | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
go-tagexpr
Posts with mentions or reviews of go-tagexpr.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-11-17.
-
Web Development JWT Practices
Hertz uses the open-source library go-tagexpr for parameter binding and validation, which the current demo uses for user registration and login.
-
High Performance Web Framework Tasting-Database Operations
You may refer to here for more information about parameter validation syntax.
The go-tagexpr open source library is used for parameter binding and validation of the Field annotation, as shown in the following example for CreateUserRequest:
GORM
Posts with mentions or reviews of GORM.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-06-02.
- [OpenSource] I am building high performance Plex alternative in Go for Movies and TV Show
-
Building Robust Applications in Go: Integrating Envconfig, Gorm, and OpenSearch
After successfully configuring the application, it's time to delve into integrating the data layer. For this purpose, I will utilize gorm, a powerful SQL ORM that facilitates rapid development of the data layer using model structs.
-
Why ORMs are so hated?
I have never hated gorm and it serves me well. However I tend to feed it raw SQL very often.
-
Golang RESTAPI boilerplate repository
Array of values with embedded value all pointed to the last value, reflect code was broken: https://github.com/go-gorm/gorm/pull/5901 data corruption
-
Does Go, has something similar to Laravel eloquent (ORM) ?
Yes. I think the most popular is gorm (https://gorm.io). I use it myself and love it, but i know that many people are against using it. For simple queries, the code is looking really clean. If you have complex queries with e.g. sub selects, your code looks like a car accident.
-
Tools besides Go for a newbie
IDE: use whatever make you productive. I personally use vscode. VCS: git, as golang communities use github heavily as base for many libraries. AFAIK Linter: use staticcheck for linting as it looks like mostly used linting tool in go, supported by many also. In Vscode it will be recommended once you install go plugin. Libraries/Framework: actually the standard libraries already included many things you need, decent enough for your day-to-day development cycles(e.g. `net/http`). But here are things for extra: - Struct fields validator: validator - Http server lib: chi router , httprouter , fasthttp (for non standard http implementations, but fast) - Web Framework: echo , gin , fiber , beego , etc - Http client lib: most already covered by stdlib(net/http), so you rarely need extra lib for this, but if you really need some are: resty - CLI: cobra - Config: godotenv , viper - DB Drivers: sqlx , postgre , sqlite , mysql - nosql: redis , mongodb , elasticsearch - ORM: gorm , entgo , sqlc(codegen) - JS Transpiler: gopherjs - GUI: fyne - grpc: grpc - logging: zerolog - test: testify , gomock , dockertest - and many others you can find here
-
Why use Rust on the backend?
I don't use ORM but I were I would use https://gorm.io/ which has no equivalent in Rust in terms of features and maturity.
-
Looking to build a small team for a start-up idea
The back-end is going to be written in Golang, using a [Gin](https://github.com/gin-gonic/gin), [Gorm](https://gorm.io/), and a [Postgres](https://www.postgresql.org/) DB, so bonus points if you are familiar with Go!
- Go doesn’t do any magical stuff and I love that
- How do you handle nil/null values correctly
What are some alternatives?
When comparing go-tagexpr and GORM you can also consider the following projects:
ent - An entity framework for Go
Xorm
SQLBoiler - Generate a Go ORM tailored to your database schema.
go-pg - Golang ORM with focus on PostgreSQL features and performance
beego orm
pgx - PostgreSQL driver and toolkit for Go
sqlc - Generate type-safe code from SQL
gorp - Go Relational Persistence - an ORM-ish library for Go
bun - Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
xorm - xorm是一个简单而强大的Go语言ORM库,通过它可以使数据库操作非常简便。本库是基于原版xorm的定制增强版本,为xorm提供类似ibatis的配置文件及动态SQL支持,支持AcitveRecord操作
prisma-client-go - Prisma Client Go is an auto-generated and fully type-safe database client
upper.io/db - Data access layer for PostgreSQL, CockroachDB, MySQL, SQLite and MongoDB with ORM-like features.