Nên dùng Echo, build trên net/http nên đảm bảo hỗ trợ lâu dài. Gin cũng dc nhưng mà không ngon bằng Echo.fiber dùng fasthttp mà không phát triển trên net/http nên em thấy cái nào đề xuất fiber cũng bị downvote.
Đúng rồi, cách này là chuẩn chỉnh rồiMọi người cho mình hỏi mình muốn insert vào 2 bảng có relation với nhau. Hiện tại mình đang dùng PostgreSQL và pgx là driver. Thì mình sẽ insert như thế nào nhỉ ?
Cách làm hiện tại của mình là mở 1 transaction và insert lần lượt nếu error thì rollback.
begin
insert into () values ()
insert into () values ()
commit
rollback
Phần handle transaction mình sẽ thực hiện bên app đúng k bạn. Do mình thấy bạn có show code SQL.Đúng rồi, cách này là chuẩn chỉnh rồi
SQL:begin insert into () values () insert into () values () commit rollback
tx = db.Begin()
id, err := tx.Exec("Insert table A")
if err != nil {
tx.rollBack()
}
err = tx.Exec("Insert table B $1", id)
if err != nil {
tx.rollBack()
}
tx.Commit()
Anh dùng Go để học giải Algo thì đặt break point trong Goland bình thường màCho mình hỏi nếu dùng golang trên goland thì dùng gì để debug nhỉ
cái [...] là array literal, như hình là khai báo array of string, length là 4.Mọi người giải thích giúp mình cấu trúc syntax chỗ màu vàng được không View attachment 857376
how about mux broFiber đang hot nhé
Cài Jetbrain Goland rồi dí chuột vào những chỗ đó, nó sẽ hiện ra là cái gìMọi người giải thích giúp mình cấu trúc syntax chỗ màu vàng được không View attachment 857376
Dí rồi bác, không ra nên căng lắm em mới mạn phép lên đây hỏiCài Goland rồi dí chuột vào những chỗ đó, nó sẽ hiện ra là cái gì
Không ngờ Jetbrain cũng có chỗ phế thế àDí rồi bác, không ra nên căng lắm em mới mạn phép lên đây hỏi
Đó giờ kiếm chỗ bán key khoai quá, bác có địa chỉ nào mua key rẻ không?Không ngờ Jetbrain cũng có chỗ phế thế à
Dùng reset trial là được rồi fenĐó giờ kiếm chỗ bán key khoai quá, bác có địa chỉ nào mua key rẻ không?
Giờ tải mới nó chơi bài log accout mới cho active trial nên giờ chịu, reset như khôngDùng reset trail được rồi fen
Downgrade xuống bản năm ngoái mà dùng thôiGiờ tải mới nó chơi bài log accout mới cho active trial nên giờ chịu, reset như không
mux chậm lắm bác. thấy người ta đề cử Chi nhiều hơnhow about mux bro
vì sao phần resquest lại dùng, mà phần bên reponse thì lại khôngfunc getBooks(responseWriter http.ResponseWriter, request *http.Request) {
responseWriter.Header().Set("Content-Type", "application/json")
json.NewEncoder(responseWriter).Encode(books)}
Dev mà nghèo vậy fen đi cua em sinh viên lấy cái mail edu mà dùng tạm.Đó giờ kiếm chỗ bán key khoai quá, bác có địa chỉ nào mua key rẻ không?
Bản thân ResponseWriter là interface, khi truyền vào nó là pointer rồi. Thường truyền vào con trỏ khi muốn không phải copy toàn bộ struct vào hoặc muốn thay đổi giá trị.hi các bác, hiện e đang học thêm Go, nhưng về phần con trỏ này thì e chưa rõ lắm, là khi nào cần dùng con trỏ khi nào không,
vd như funtion này :
vì sao phần resquest lại dùng, mà phần bên reponse thì lại không