https://www.linkedin.com/posts/sg-developers_systemgroup-golang-senior-activity-7347875775976505346--Kro?utm_medium=ios_app&rcm=ACoAABYjZA0BaacbmqPNu0wyeB2And2nS6JeAfg&utm_source=social_share_send&utm_campaign=copy_link
#jobs
#jobs
Linkedin
#systemgroup #golang #senior #midlevel #junior #همکاران_سیستم… | SG Developers | 40 comments
میخوای برنامهنویسی با Go رو شروع کنی؟
اینجا بهترین فرصت برای شروعه! مهم نیست قبلاً با چه زبانهایی کار کردی یا چند سال سابقه داری؛ کافیه قبلاً در یک تیم برنامهنویسی کار کرده باشی و بخوای وارد پروژههای جدی و پر از چالشی بشی که بتونی باهاشون کلی تجربه…
اینجا بهترین فرصت برای شروعه! مهم نیست قبلاً با چه زبانهایی کار کردی یا چند سال سابقه داری؛ کافیه قبلاً در یک تیم برنامهنویسی کار کرده باشی و بخوای وارد پروژههای جدی و پر از چالشی بشی که بتونی باهاشون کلی تجربه…
🔴قابلیت sync.WaitGroup ویژگی های جدید گولنگ نسخه 1.25
در نسخه Go 1.25**، یک متد جدید به `sync.WaitGroup` اضافه شده به نام
🧠 چرا
در نسخههای قبلی برای اجرای goroutine همراه با شمارنده
روش قدیمی:
اگر
---
✅ روش جدید:
در Go 1.25، این الگو ساده شده:
همزمان
✨ مثال کامل
خروجی ممکن:
📌 مزایای
| مزیت | توضیح |
| -------------------------------------- | ---------------------------- |
| ✅ کد تمیزتر | نیازی به
| 🧠 جلوگیری از خطاهای رایج | مثل فراموشی
| 🧵 مناسب برای patternهای goroutine سبک | موازیسازی سریع و امن |
---
⚠️ نکته مهم
*
* برای استفاده از آن، باید مطمئن باشید که پروژهتان با Go 1.25 یا بالاتر کامپایل میشود.
* این متد دقیقاً مثل
https://t.iss.one/gopher_academy
#learn
در نسخه Go 1.25**، یک متد جدید به `sync.WaitGroup` اضافه شده به نام
Go()
** که هدفش سادهسازی اجرای goroutineها همراه با شمارندهی WaitGroup است.🧠 چرا
WaitGroup.Go()
اضافه شده؟در نسخههای قبلی برای اجرای goroutine همراه با شمارنده
WaitGroup`، باید دستی `Add()
و Done()
را بنویسید:روش قدیمی:
var wg sync.WaitGroup
wg.Add(1)
go func() {
defer wg.Done()
doWork()
}()
اگر
Add
یا Done
را فراموش میکردی یا ترتیبش اشتباه بود، ممکن بود برنامه بنبست (deadlock) بشه یا goroutineها نشمارده بشن.---
✅ روش جدید:
wg.Go(fn)
در Go 1.25، این الگو ساده شده:
var wg sync.WaitGroup
wg.Go(func() {
doWork()
})
همزمان
Add(1)
انجام میشه و داخل goroutine بهطور خودکار Done()
صدا زده میشه—دیگه لازم نیست دستی چیزی بنویسی.✨ مثال کامل
package main
import (
"fmt"
"sync"
)
func main() {
var wg sync.WaitGroup
for i := 0; i < 3; i++ {
i := i // capture variable
wg.Go(func() {
fmt.Println("working on task", i)
})
}
wg.Wait()
fmt.Println("All tasks done.")
}
خروجی ممکن:
working on task 0
working on task 1
working on task 2
All tasks done.
📌 مزایای
Go()
| مزیت | توضیح |
| -------------------------------------- | ---------------------------- |
| ✅ کد تمیزتر | نیازی به
Add
و Done
نیست || 🧠 جلوگیری از خطاهای رایج | مثل فراموشی
Done()
|| 🧵 مناسب برای patternهای goroutine سبک | موازیسازی سریع و امن |
---
⚠️ نکته مهم
*
Go()
فقط از Go 1.25 در دسترس است.* برای استفاده از آن، باید مطمئن باشید که پروژهتان با Go 1.25 یا بالاتر کامپایل میشود.
* این متد دقیقاً مثل
go func(){...}()
عمل میکند، فقط با مدیریت داخلی Add
و Done
.https://t.iss.one/gopher_academy
#learn
Telegram
Gopher Academy
🕸 Gopher Academy
🔷interview golang
https://github.com/mrbardia72/Go-Interview-Questions-And-Answers
حمایت مالی:
https://www.coffeete.ir/mrbardia72
ادمین:
@mrbardia72
🔷interview golang
https://github.com/mrbardia72/Go-Interview-Questions-And-Answers
حمایت مالی:
https://www.coffeete.ir/mrbardia72
ادمین:
@mrbardia72
https://www.linkedin.com/posts/raikaco_%D8%B4%D8%B1%DA%A9%D8%AA-%D8%B1%D8%A7%DB%8C%DA%A9%D8%A7-%D8%A8%D9%87-%D8%AF%D9%86%D8%A8%D8%A7%D9%84-%DB%8C%DA%A9-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%D9%86%D9%88%DB%8C%D8%B3-golang-activity-7352296276140462080-jiDq?utm_medium=ios_app&rcm=ACoAABYjZA0BaacbmqPNu0wyeB2And2nS6JeAfg&utm_source=social_share_send&utm_campaign=copy_link
#jobs
#jobs
Linkedin
🟠 شرکت رایکا به دنبال یک برنامهنویس Golang با تجربه و مسلط به مفاهیم شبکه است. | Raika | رایکا
🟠 شرکت رایکا به دنبال یک برنامهنویس Golang با تجربه و مسلط به مفاهیم شبکه است.
🔸مهارتهای مورد نیاز:
• تسلط بالا به Golang و اصول Concurrency و Parallel Processing
• آشنایی با پروتکلهای شبکه (TCP/IP, HTTP)
• تسلط به پایگاههای داده SQL و NoSQL (PostgreSQL…
🔸مهارتهای مورد نیاز:
• تسلط بالا به Golang و اصول Concurrency و Parallel Processing
• آشنایی با پروتکلهای شبکه (TCP/IP, HTTP)
• تسلط به پایگاههای داده SQL و NoSQL (PostgreSQL…