
تیم توسعه زبان Go در فوریه ۲۰۲۶ نسخهی Go 1.26 را بهطور رسمی منتشر کرد — نسخهای که با تمرکز بر بهبود عملکرد، امنیت بیشتر، ابزارهای مدرن و گسترش استاندارد لایبرری عرضه شده است. نسخهی جدید همچنان تعهد کامل به سازگاری Go 1 را حفظ میکند، بهگونهای که تقریباً تمام برنامههای Go موجود بدون تغییر قابل اجرای مجدد خواهند بود.
نسخه ۱.۲۶ دو تغییر مهم در سطح زبان ارائه میدهد که کدنویسی را سادهتر و قدرتمندتر میکند:
new با پشتیبانی از عبارت (Expression)در Go 1.26، تابع داخلی new دیگر فقط نوع را قبول نمیکند — بلکه میتواند عبارات را بهعنوان آرگومان بپذیرد تا مقدار اولیه را نیز تعیین کند. این ویژگی مخصوصاً زمانی مفید است که بخواهیم بهصورت مستقیم اشارهگر به مقداری را ایجاد کنیم (مثلاً در هنگام سریالسازی JSON یا پروتکلبافرها).
ptr := new(int64(300))
این قابلیت کد را کوتاهتر و خواناتر میکند و نیاز به توابع کمکی شخصیسازیشده را کاهش میدهد.
قیدهای نوع (type constraints) اکنون میتوانند بهطور مستقیم به نوع اصلی اشاره کنند — چیزی که پیشتر مجاز نبود. این امکان باعث ایجاد الگوهای پیچیدهتر و ایمنتر برای دادههای Generic میشود.
نسخه جدید ابزارهای توسعه Go نیز بهبود یافتهاند:
go fixابزار go fix که برای اصلاح خودکار کد استفاده میشود، بازنویسی شده تا از چارچوب تحلیل Go بهره ببرد. اکنون شامل تعدادی modernizer است که بهطور خودکار کدهای قدیمی را به الگوهای جدیدتر تبدیل میکند بدون اینکه رفتار برنامه تغییر کند.
go mod initحالا وقتی ماژول جدیدی با نسخه Go 1.N.X ایجاد میشود، مقدار پیشفرض نسخه در go.mod به پایینترین نسخهی پشتیبانیشده کاهش پیدا میکند (برای تشویق به سازگاری بیشتر). برای مثال، ابزار نسخه ۱.۲۶، مقدار پیشفرض را به ۱.۲۵.۰ تنظیم میکند.
go tool docابزار go tool doc حذف شده و go doc میتواند بهعنوان جایگزین کامل آن استفاده شود.
Go 1.26 روی عملکرد و کارایی نیز تمرکز ویژهای داشته است:
این جمعکننده زباله جدید که در نسخه قبلی بهصورت آزمایشی ارائه شده بود، حالا بهطور پیشفرض فعال است. هدف آن کاهش زمان صرفشده در GC و بهبود محلیسازی حافظه و مقیاسپذیری روی CPU است که در بسیاری از برنامهها منجر به کاهش ۱۰ الی ۴۰٪ هزینه GC میشود.
تماسهای cgo که بهطور معمول در برنامههای Go که از کد C استفاده میکنند اتفاق میافتد، اکنون سریعتر اجرا میشوند.
برای افزایش امنیت حافظه، آدرس پایه Heap در زمان اجرای برنامه روی معماریهای ۶۴ بیت بهصورت تصادفی انتخاب میشود؛ این ویژگی به کاهش احتمال حملات حافظه کمک میکند.
یک نوع پروفایل جدید جهت شناسایی Goroutineهای نشتیافته در حالت آزمایشی وجود دارد که میتواند در ابزارهای تحلیل عملکرد مفید باشد.
نسخه ۱.۲۶ همچنین شامل بهروزرسانیهای متعدد در کتابخانه استاندارد است، از جمله:
crypto/hpkeپیادهسازی Hybrid Public Key Encryption مطابق با استاندارد RFC 9180 که از روشهای ترکیبی پیشکوآنتومی نیز پشتیبانی میکند.
این بستهها به ترتیب برای عملیات SIMD (برداری) و پاکسازی امن حافظهی حساس طراحی شدهاند و فعلاً در حالت آزمایشی قرار دارند.
از جمله اضافه شدن متد Buffer.Peek در bytes، بهبود عملکرد io.ReadAll، بهبود API در crypto، و متدهای جدید در reflect که گردش روی فیلدها و متدها را سادهتر میکند.
راهنمای مهاجرت از Go 1.25 به Go 1.26
خبر خوب این است که Go همچنان Backward Compatible باقی مانده است.
اما در پروژههای Production بهتر است این مراحل را انجام دهید:
go version # بررسی نسخه فعلی # نصب نسخه جدید # از طریق package manager یا دانلود مستقیم از go.dev
سپس در پروژه:
go mod tidy go mod verify
در Go 1.26 رفتار go mod init کمی تغییر کرده و نسخه پیشفرض پایینتر تنظیم میشود.
پیشنهاد:
اگر پروژه Production است، نسخه را به صورت صریح تنظیم کنید:
go 1.26
در 1.26، Garbage Collector جدید به صورت پیشفرض فعال است.
قبل از انتشار:
go test ./... -bench=.
و در صورت نیاز مقایسه با نسخه قبلی:
GODEBUG=gogc=off go test -bench=.
اگر پروژه شما از C bindings استفاده میکند (مثلاً OpenSSL یا کتابخانههای Native):
عملکرد بهبود یافته
ولی بهتر است تستهای Load و Integration مجدد اجرا شود
go fix ./...
نسخه جدید میتواند الگوهای قدیمیتر را به کد مدرن تبدیل کند.
در تستهای عمومی روی سرویسهای HTTP و پردازش JSON، نتایج تقریبی به شکل زیر بوده است:

در سیستمهای High Concurrency مثل:
API Gateway
Microservices با Load بالا
Message Processing (Kafka Consumers)
Real-time systems
کاهش زمان GC Pause باعث:
Latency کمتر
Throughput بالاتر
مصرف CPU پایدارتر
میشود.
اگر شما روی Exchange، FinTech یا سرویسهای Streaming کار میکنید، این نسخه ارزش بررسی جدی دارد.
Heap Randomization → کاهش احتمال Exploit
crypto/hpke → آماده برای استانداردهای رمزنگاری مدرن
runtime/secret → پاکسازی امن دادههای حساس
برای سیستمهای مالی یا احراز هویت، این بخش اهمیت بالایی دارد.
سیستم High Load دارید
از cgo استفاده میکنید
Performance-sensitive هستید
به بهبودهای امنیتی نیاز دارید
پروژه Stable و بدون فشار Performance است
Release بحرانی در حال اجرا دارید
Go 1.26 یک نسخه معمولی نیست —
این نسخه تمرکز جدی روی Performance + Security + Modern Tooling دارد.
مهمترین نکات:
GC جدید فعال به صورت پیشفرض
کاهش محسوس هزینه cgo
بهبود ابزار go fix
توسعه crypto استاندارد
امنیت حافظه بهتر
اگر در سال 2026 با Go کار میکنید، این نسخه پایهی قدرتمندتری برای سیستمهای مقیاسپذیر فراهم میکند.