thảo luận Tất tần tật về Go (Golang)

Go ngon đó bác, mình có join một project migrate Java sang Go, cái Java thì viết bằng Servlet cũ, lúc upgrade mấy ông sếp chuyển qua Go luôn, không chịu up lên Spring, mà dùng beego với grpc.
 
Golang sẽ thay thế Nodejs ở các startups, cân vs Netcore/Java ở enterprise dc ko? Các thím cho lời khuyên?:adore:
hiện tại thấy khá ngon, mình đang viết mấy con server = go lang, thấy ổn, cú pháp tựa tựa code c và java nên okie :D
 
Nhân tiện mấy bác cho e hỏi có cách nào làm golang trên vscode bớt phò phạch không?
Toàn bị báo could not import package trong khi đường dẫn package hợp lệ (có xài gomodule)
 
Nhân tiện mấy bác cho e hỏi có cách nào làm golang trên vscode bớt phò phạch không?
Toàn bị báo could not import package trong khi đường dẫn package hợp lệ (có xài gomodule)
Đang code golang trên vscode, hoàn toàn bình thường
User settings:
"go.useLanguageServer": false,
 
2020-05-07_073932.png
 
Rảnh rảnh type vài dòng cho các bác:

Ưu điểm của Go:
1. Code dễ đọc, dễ hiểu.
2. Go compiler mang lại nhiều thông tin có để giải quyết các vấn đề thay vì những output vô nghĩa.
3. Go code portable
4. Hỗ trợ concurrency, distributed programming.
5. Support Garbage collection. Được thiết kế khá nhanh chứ ko chậm chạp như GC của java.
6. Ko có preprocessor, tăng tốc độ khi compile chương trình.
7. Có thể build web app.
8. Bộ thư viện chuẩn của Go cung cấp nhiều library cho phép làm việc dễ dàng.
9. Sử dụng static linking by default. Ko cần quan tâm tới library, different version v.v...
10. Support Unicode
(cái này mình đọc sách nhiều nên biết thôi :sexy:)

Tất nhiên ko có ngôn ngữ nào là hoàn hảo, quan trọng là mục tiêu khi người ta xây dựng ngôn ngữ đó là gì.
Ví dụ như Go thì ko có OOP, có thể gọi là ko trực tiếp support OOP thì chính xác hơn.
Về tốc độ thì mình nghĩ Go vẫn ko thể nhanh hơn C dc, đơn giản là Unix viết bằng C.

Nhưng dù sao Go là một ngôn ngữ hiện đại, dễ học, dễ nắm bắt, dễ viết.

Để học syntax 1 ngôn ngữ thì rất dễ, python hay Java thì chắc ngồi vài hôm là xong. Nhưng để thực sự "đào sâu" vào ngôn ngữ đấy, thì mình nghĩ các bác cần nhiều thời gian hơn rất nhiều.
Có thể mất cả năm trời để hiểu rõ dc các cơ chế hoạt động phía dưới của ngôn ngữ, sử dụng một cách thông thạo, code đẹp đẽ tối ưu.
Do tính chất công việc hiện nay nên đa phần nhiều người ko đạt dc tới level đó và cũng ko coi việc đó là quan trọng, với mình đó là 1 điều đáng buồn.

Các bác chỉ có thể code 1 cách tối ưu khi các bác hiểu rõ ngôn ngữ đó hoạt động như thế nào.
 
Go giờ. thấy thiếu nhất là generic. Code mấy đoạn xử lý array mà nhiều type là phải làm thêm cái function khác cho cái type khác :doubt:

Hóng go2 ra nhanh cho chúng nó bớt chửi.

Giờ tuyển dung cũng nhiều mà Grab, Tiki, GHN là ví dụ.
 
Xài go thấy rất ức chế, thiếu rất nhiều những cái hay mà 1 ngôn ngữ lập trình mới nên có (so sánh vs rust hay swift sẽ hiểu)
 
Back
Top