کتاب آموزش گام به گام برنامهنویسی GO
کتاب آموزش گام به گام برنامهنویسی GO نوشتهی رمضان عباس نژادورزی و امیرحسین طاهری اطاقسرا، به معرفی این زبان برنامه نویسی بسیار قدرتمند و کارآمد پرداخته است.
زبان برنامهنویسی Go، زبان بسیار پرکاربرد، پیشرفته و قدرتمندی است که در آیندهای نه چندان دور در بیشتر پروژههای موفق و بزرگ دنیا مورد استفاده قرار میگیرد. شاید تعجب کنید ولی این زبان برنامهنویسی در برخی خصوصیات خود 20 الی 50 برابر از زبانهای دیگر بهینهتر و سریعتر است.
در سپتامبر سال 2007، Ken Thompson و Rob Pike، دو تن از سرشناسترین چهرههای دنیای نرمافزار که نیازی به معرفیشان نیست، ایده ساخت یکزبان برنامهنویسی سیستمی جدید را با Robert Griesemer، یکی دیگر از مهندسین مشغول در Google در میان گذاشتند. آنها کار بر روی این زبان جدید را شروع کردند و در این مدت تعداد دیگری از همکارانشان همچون Russ Cox و Brad Fitzpatrick و Andrew Gerrand به تیم آنها ملحق شدند.
این زبان با پشتیبانی گوگل به صورت open source یا متن باز اولین نسخه آزمایشیاش را در نوامبر سال 2009، به عموم برنامهنویسان عرضه شد. از آن زمان تا به حال بیش از 300 نفر از برنامهنویسان داوطلب در توسعه این پروژه شرکت داشتهاند. از اولین ماه انتشار این زبان، شرکتهای Startup زیادی استفاده از آن را شروع کردند. با اینکه زبان در نسخه آزمایشی به سر میبرد، اما برای خیلیها وجود نام Jeb Thompson و Rob Pike کافی بود تا از کیفیت زبان اطمینان حاصل کنند. بسیاری از شرکتهای بزرگتر، منتظر نسخه پایدار بودند. تا اینکه در ماه مارس سال 2012، نسخه 0.1 از زبان برنامهنویسی Go به صورت پایدار منتشر شد.
تعدادی از شرکتهای استفاده کننده از این زبان عبارتاند از: Google، YouTube، BBC، Canonical، Nokia Siemens، Bitly، Heroku، CloudFlare، SmugMug، Feedbooks، Iron. io، Moovweb، AirBrake، Swirl. us، SoundCloud تقریباً تمام این شرکتها، از Go برای طراحی سیستمهای Back-end استفاده کردهاند. جایی که زبانهای اسکریپتی قدرت مناسب را ندارند و معمولاً از JVM استفاده میشود؛ در خیلی از مواقع هم برای رسیدن به سرعت بالاتر، پای کدهای C و ++C به میان میآید.
زبان برنامهنویسی Go هنوز در اول راه است، و برای رسیدن بهجایگاه زبانهای دیگر مثل C++ ،Java ،Python و... راه طولانی در پیش دارد، اما به نظر میرسد که برای شروع بسیار موفق عمل کرده است. زیرا فقط با گذشت 7 ماه از انتشار اولین نسخه پایدارش، با مقبولیتی زیادی روبهرو شده است. یکی از راههای آموزش زبانهای برنامهنویسی، آموزش مفاهیم برنامه به همراه مثالهای متعدد است.
کتاب حاضر شامل 8 فصل است که عبارتاند از: فصل اول، مفاهیمی از قبیل آشنایی با زبان Go، عملگرها و دستورات ورودی و خروجی را با مثالهای متعدد آموزش میدهد. فصل دوم، به ساختارهای کنترلی نظیر ساختارهای تصمیم (if، switch) و دستورات تکرار (for، break و continue) میپردازد. فصل سوم، توابع و روشهای پیادهسازی و فراخوانی آنها را آموزش میدهد. فصل چهارم، آرایه یکبعدی، دوبعدی، Sliceها و Mapها را با مثالهای مختلف آموزش میدهد. فصل پنجم، مفاهیم رشتهها و کاراکترها را بیان کرده و متدهای کار با کاراکترها و رشتهها را آموزش میدهد. فصل ششم ساختمانها و واسطها را آموزش میدهد. فصل هفتم، به برنامه نویسی موازی و امکات زبان Go برای این منظور از قبیل هم روالها و کانالها میپردازد. فصل هشتم، ورودی و خروجی فایلها و بستههای موجود در زبان برای کار کردن با فایلها را شرح میدهد.
برای تمرین بیشتر انتشارات اقدام به انتشار کتاب حل مسائل Go را نموده است که مکمل این کتاب است. از ویژگیهای بارز این کتاب این است که به صورت گامبهگام با جملات کوتاه و ساده بیان گردیده است.
فهرست مطالب
فصل اول: آشنایی با Go
1-1. ویژگیهای Go
2-1. قابلیتهای نداشته، قابلیتهای اصلی زبان Go
3-1. مفهوم بسته و کاربردهای آن
4-1. آموزش زبانهای برنامهنویسی
5-1. شناسهها
6-1. کلمات کلیدی
7-1. فضای سفید
8-1. لیترالها
9-1. توضیحات
10-1. کاراکترهای ویژه
11-1. انواع داده
12-1. انواع عددی
13-1. مراحل آمادهسازی و اجرای برنامه
14-1. ساختار برنامه Go
15-1. دستورات خروجی
16-1. متغیرها
17-1. ثابتها
18-1. عملگرها
1-18-1. عملگرهای محاسباتی
2-18-1. عملگرهای رابطهای (مقایسهای)
3-18-1. عملگرهای ترکیبی
4-19-1. عملگرهای منطقی
5-18-1. عملگرهای خاص
19-1. اولویت عملگرها
20-1. تبدیل نوع
21-1. خواندن داده با تابع Scanf
22-1. تمرینهای برنامهنویسی
فصل دوم: ساختارهای کنترلی
1-2. ساختارهای تصمیمگیری
1-1-2. ساختار تصمیم if
2-1-2. ساختار if تودرتو
3-1-2. ساختار switch
2-2. ساختار تکرار for
1-2-2. دستور break
2-2-2. دستور continue
3-2. تمرینهای برنامهنویسی
فصل سوم: توابع و پیادهسازی آنها
1-3. انواع توابع
1-1-3. توابع کتابخانهای
2-1-3. توابعی که برنامهنویس مینویسد
2-3. ارسال پارامترها به توابع
1-2-3. ارسال پارامتر از طریق مقدار
2-2-3. ارسال پارامتر از طریق ارجاع
3-3. توابع بازگشتی
4-3. توابع با تعداد پارامترهای دالخواه
5-3. مفهوم Coluser
6-3. مفهوم defer
7-3. مفهوم panic و recover
6-3. تمرینهای برنامهنویسی
فصل چهارم: آرایهها، برشها و نقشهها
1-4. تعریف آرایههای یکبعدی
2-4. مقداردهی عناصر آرایه
1-2-4. مقداردهی به خانههای آرایه بهصورت مجزا
2-2-4. مقداردهی اولیه به عناصر آرایه در هنگام تعریف آن
3-2-4. مقداردهی به خانههای آرایه با حلقههای تکرار و دستورات ورودی
3-4. نمایش مقادیر آرایه
1-3-4. نمایش مقادیر هر عنصر بهصورت مجزا
2-3-4. نمایش مقادیر آرایه با حلقه تکرار for
3-3-4. نمایش عناصر آرایه با حلقه for بدون استفاده از اندیس
4-4. تولید اعداد تصادفی
5-4. ارسال آرایهها به توابع
1-5-4. ارسال عناصر آرایه به توابع
2-5-4. ارسال نام آرایهها به توابع
6-4. مرتبسازی آرایه
7-4. جستجوی مقادیر آرایه
1-7-4. جستجوی خطی (ترتیبی)
2-7-4. جستجوی دودویی در آرایه مرتبشده
8-4. حذف عناصر آرایه
9-4. درج عنصری بین عناصر آرایه
10-4. آرایههای دوبعدی
1-10-4. تعریف آرایه دوبعدی
2-10-4. مقداردهی عناصر آرایه دوبعدی
3-10-4. نمایش مقادیر آرایه دوبعدی
11-4. برش یا Slice
1- 11-4. اضافه کردن عنصری به برش
2-11-4. کپی کردن عناصر برش
3-11-4. مرتبسازی عناصر برش
12-4. نقشه یا Map
1- 12-4. تابع len ()
2-12-4. تابع delete ()
3-12-4. کاربرد for range برای پیمایش map
13-4. تمرینهای برنامهنویسی
فصل پنجم: رشتهها و کاراکترها
1-5. کاراکترها و رشتهها
2-5. عملگرها و متدهای اولیه رشتهای
3-5. خواندن رشته
4-5. کاراکترهای کنترلی و فرمتدهی دادهها
5-7. متدهای بسته Strings
6-7. بسته strconv
7-7. تمرینهای برنامهنویسی
فصل ششم: ساختمانها و واسطها
1-6. ساختمان
1-1-6. ایجاد نمونه جدید از نوع تعریف شده
2-1-6. دسترسی به فیلدهای ساختمان
3-1-6. ایجاد ساختمان بینام
4-1-6. انتساب متغیرهای ساختمان
5-1-6. تعریف آرایهای از ساختمان
6-1-6. ساختمانها به عنوان آرگومان تابع
7-1-6. ایجاد اشارهگری از نوع ساختمان
8-1-6. ایجاد فیلدهای بینام
9-1-6. ساختمانهای تودرتو
10-1-6. صادر کردن ساختمان و فیلدها
11-1-6. مقایسه برابری دو متغیر ساختمان
2-6. متدها
3-6. مفاهیم Has - a و Is - a
4-6. واسطها
1-4-6. واسط خالی
2-4-6. پیادهسازی واسطهای چندگانه
3-4-6. تعبیه کردن واسطها
1-4-6. پیادهسازی واسطهای چندگانه
5-6. کلاسها و وراثت
1-5-6. ساختمانها بهجای کلاسها
2-5-6. تابع New بهجای سازندهها
3-5-6. ترکیب بهجای وراثت
6-6. تمرینهای برنامهنویسی
فصل هفتم: همروندی
1-7. همروندی
2-7. همروال
3-7. کانالها
1-3-7. مسیر کانال
2-3-7. دستور select
3-3-7. کانالهای بافر شده
4-7. تمرینهای برنامهنویسی
فصل هشتم: دایرکتوریها و فایلها
1-8. تابع Create ()
2-8. متد Close ()
3-8. تابع MkdirAll ()
4 –8. تابع Rename ()
5-8. تابع Remove ()
6-8. خواندن اطلاعات متا داده فایل
7-8. خواندن اطلاعات فایل
1-7-8. خواندن کل اطلاعات یک فایل و انتقال آن به حافظه
2-7-8. خواندن یک فایل به صورت قطعات چند بایتی
3-7-8. خواندن اطلاعات فایل بهصورت خط به خط
8-8. نوشتن در فایل
1-8-8. نوشتن رشته در یک فایل
2-8-8. نوشتن بایتها در یک فایل
3-8-8. نوشتن یک سطر در یک فایل
4-8-8. افزودن اطلاعات به فایل
5-8-8. افزودن اطلاعات به فایل
9-8. نوشتن همزمان در یک فایل
10-8. تمرینهای برنامهنویسی
منابع
مطالب مرتبط
تگها
مطالب پربیننده
- چه کسانی می توانند نامخانوادگیشان را تغییر دهند
- روزانه چقدر پروتئین مصرف کنیم؟
- خواص شگفتانگیز کیوی را بشناسید
- فراخوان دومين كنگره بين المللی راهكارهای گسترش فرهنگ غدير و ترويج نهج البلاغه
- ۳ نوشیدنی مفید برای سالمندان
- نکاتی مهم درباره جوشهای صورت
- علائم بیش فعالی در دخترها و پسرها را بشناسید
- میوه ای برای تقویت سیستم ایمنی بدن
- گیاهی برای دفع سنگ کلیه
- اربعین؛ پلی به سوی وحدت جهانی
- چالشهای ازدواج در دوران پیری
- اذن پدر برای ازدواج دختر لازم است یا خیر؟
- معرفی سوغات و صنایع دستی مازندران
- چگونه عطر مناسب بخریم؟
- زندگی نامه مسعود پزشکیان
- رابطه زناشویی برنده و بازنده ندارد
- درباره دوران بحرانی نوجوانی
- بازار کرمان با قدمت ۶۰۰ سال
- معرفی موزه هنرهای معاصر تهران؛ بازتابی از هنر ایران و جهان
- مصرفگرایی و ویرانی زندگی
- پاسخ به سوالات رایج درباره مصرف شیر
- معرفی جنگل فندقلو؛ بهشتی مینیاتوری در اردبیل
- درباره سن پیری بیشتر بدانیم
- اهمیت خواب را جدی بگیرید
- معرفی مسجد شیخ لطف الله، اثری شگفت انگیز از دوران صفویه
- پناهگاه سکوت
- نحوه خوابیدن به خواستههای درونی
- مضرات سیگار از آسیبهای پوستی تا تهدید سلامتی
- در مورد کف پای صاف و باورهای قدیمی
- چگونه با کودکان چاق تعامل داشته باشیم
- قوانین کلاس و مدرسه
- قالب آماده و زیبای پاورپوینت(15)
- ۵ فیلم که همه زنان ایرانی باید تماشا کنند
- شعار سال ۱۴۰۱ «سال تولید، دانشبنیان و اشتغالآفرین»
- قالب زیبای پاورپوینت برای ارائه پروپوزال و دفاع رساله دکترا
- قالب پاورپوینت کادر دار زیبا
- پورنوگرافی چیست و چه اثری بر مغز و رابطه جنسی دارد؟
- قالب پاورپوینت گرافیکی و طرح دار زیبا
- قالب پاورپوینت گرافیکی زیبا
- رنگ چشم هایتان درباره شما و اجدادتان چه می گوید؟
- نمونه تدریس درس اول هدیه آسمان پنجم
- قالب پاورپوینت گرافیکی جالب
- اندکی درباره درسپژوهی
- کتاب پسری که جادویی شد
- همه زائران سلطان
- قالب پاورپوینت
- معرفی کتاب
- دوستی با کتاب
- قالب پاورپوینت گرافیکی
- درباره محسن رضایی
- معرفی کتاب
- قیافه و ظاهر واسه متولدین کدوم ماه، خیلی مهمه؟
- درباره امیر کبیر
- کتاب راهنمای کامل Interaction access
- متن کامل دعای جوشن کبیر با ترجمه
- کتاب پیوند زخم خورده
- درباره فخرالدین عراقی
- درباره محسن مهر علیزاده
- کتاب آموزش علیه آموزش
- خلاصه کتاب سواد بصری