کتاب Go in Action, Second Edition (گو در عمل، نسخه دوم) یک راهنمای عملی برای توسعهدهندگان با سطح مهارت متوسط است که قصد دارند زبان گو را به طور جدی یاد بگیرند و از آن در پروژههای واقعی استفاده کنند.
جهت دانلود کتاب Go in Action ویرایش دوم، میتوانید از لینک زیر استفاده کنید:

«ویژگی Generics، مدیریت خطای واقعی، ساختار عملیاتی پروژه؛ تمام چیزهایی که قبلاً مجبور بودم بهسختی و در جاهای دیگر یاد بگیرم، بالاخره و بهطور کامل در همین کتاب جمع شده است.»
— ماریو کاریون (Mario Carrion)، شرکت Paramount
کتاب Go in Action, Second Edition مرجع قطعی برای تسلط بر سیستم تایپ منحصربهفرد Go و مدل همروندی (Concurrency) فوقالعاده سریع آن است. این ویرایش جدید که با همکاری مشترک جوئل هولمز (Joel Holmes)، اندرو واکر (Andrew Walker) و اسطوره زبان گو یعنی ویلیام کندی (William Kennedy) به نگارش درآمده، بازنویسی کاملی است که رفتارهای مدرن Go را منعکس میکند و محیطهای قدیمی را با ماژولهای Go (Go Modules) و Workspaceهای چندماژولی جایگزین کرده است.
در این کتاب، پوشش کاملی از Go Generics، تستهای Fuzzing بومی، و پردازش ساختاریافته JSON را به همراه اصول معماری مورد نیاز برای ساخت برنامههای برپایه هوش مصنوعی و ایجنتمحور (Agentic) پیدا خواهید کرد.
این کتاب عمیق که برای توسعهدهندگان شاغل و حرفهای نوشته شده است، «علت» اصلی تصمیمات طراحی Go را توضیح میدهد و نشان میدهد که چگونه این انتخابها، نوشتن کدی تمیز و امن را برای نرمافزارهای بسیار همروند سادهتر میکنند.
این اثر شما را در مسیر ساخت برنامههای کاربردی در سطح عملیاتی (Production-grade) هدایت میکند که شامل استفاده از طراحی دامنه-محور (DDD) و معماری ششضلعی (Hexagonal Architecture) برای ساخت سیستمهای مقیاسپذیر و مستقل از وابستگی (Decoupled) است. رنه جی. پرین (Rene G. Perrin)، بررسیکننده کتاب از بورس کالای شیکاگو، به «...نمونههای واقعی و فوقالعاده از وظایف غیرسطحی» اشاره میکند؛ از جمله یک ابزار تبدیل CLI و یک پردازشگر پسزمینه RSS که نحوه نوشتن نرمافزاری با رفتار قابل پیشبینی تحت بار کاری سنگین را تصویر میکنند.
کتاب Go in Action, Second Edition همچنین به تحولات عظیم در دنیای نرمافزار که توسط هوش مصنوعی و برنامههای ایجنتمحور ایجاد شده میپردازد. شما یاد خواهید گرفت که چگونه مرزهای معماری را با استفاده از الگوی پورتها و آداپتورها (Ports and Adapters) طراحی کنید تا مدلهای متغیر LLM و APIها بتوانند به عنوان آداپتورهای قابل تعویض عمل کنند. این تکنیکهای جداسازی معماری همچنین تضمین میکنند که منطق اصلی کسبوکار شما کاملاً دستنخورده باقی بماند؛ چه یک LLM تجاری بزرگ را هدف قرار دهید و چه یک مدل محلی.
دو ضمیمه جامع، شما را در یک تمرین کامل مهندسی هوش مصنوعی همراهی میکنند؛ جایی که یک پایگاه داده جستجوی برداری (Vector Search) پرسرعت با Qdrant میسازید، امبدینگهای معنایی (Semantic Embeddings) تولید میکنید و یک خط لوله خلاصه سازی مبتنی بر LLM را با استفاده از Ollama و LangChain برای Go پیادهسازی میکنید. هیونگون او (Hyeonggeun Oh)، بررسیکننده کتاب از خدمات وب آمازون (AWS)، قید میکند که «تمرکز کتاب بر الگوهای مدرن و ادغام هوش مصنوعی، مستقیماً منعکسکننده نیازهای در حال تحول این صنعت است.»
کتاب Go in Action, Second Edition دقیقاً در نقطه تلاقی توسعه برنامههای مدرن و الگوهای تثبیتشده مهندسی که همچنان بر سیستمهای قابل اعتماد سازمانی حاکم هستند، قرار دارد. نتیجه، یک راهنمای جامع است که به شما کمک میکند Go را در جریان کاری روزانه خود ادغام کنید—از نوشتن کد استاندارد و اصیل (Idiomatic) تا ارکستراسیون سیستمهای توزیعشده پیشرفته.
ساخت معماریهای قابل تعویض و مستقل با استفاده از الگوهای طراحی ششضلعی
پیادهسازی همروندی قوی با استفاده از Goroutineها، Channelها و Contextها
نوشتن کد امن و تستشده با روش Fuzzing برای مدیریت خروجیهای ساختارنیافته LLM
سازماندهی و نسخهگذاری پروژههای پیچیده سازمانی با Go Workspaces
توسعهدهندگان حرفهای که حداقل به یک زبان شیءگرا تسلط دارند و میخواهند سیستمهای بکاند با کارایی بالا، برنامههای ابری (Cloud Native) یا خطوط لوله ادغامشده با هوش مصنوعی را بسازند.
جوئل هولمز (Joel Holmes): توسعهدهنده نرمافزار که در حال ساخت برنامههای ابری در شرکت EasyPost است.
آندی واکر (Andy Walker): متخصص توسعهدهندگان گوگل (Google Developer Expert) در Go و از اعضای کادر برگزاری Gophercon.
ویلیام کندی (William Kennedy): همنویسنده ویرایش اول کتاب Go in Action و از اعضای بنیانگذار مجموعه GoBridge.
۱. زبان Go همان راه حل است
۲. شیرجه به دنیای Go
۳. تایپهای پایه و عملگرها
۴. تایپهای مجموعه (Collections)
۵. کار با تایپها
۶. ویژگی Generics
۷. خطاها در Go
۸. تستنویسی و ابزارها
۹. همروندی (Concurrency)
۱۰. کتابخانه استاندارد
۱۱. کار با پروژههای بزرگتر
ضمیمه A: جستجوی برداری همراه با ذخیرهسازی
ضمیمه B: خلاصهسازی مبتنی بر LLM