زبان برنامه نویسی گو Go v1.6.2
Go یک زبان برنامه نویسی منبع باز است که توسط گوگل ایجاد شده است تا فرآیند ساخت نرم افزارهای کارآمد قابل اعتماد و ساده را برای برنامه نویسان بسیار آسان تر کند. Go یک زبان برنامهنویسی ترجمهشده (compiled language) و دارای بازیافت حافظه (Garbage collection) و همروند (Concurrency) است که در شرکت گوگل و توسط رابرت گریسمر، راب پایک و کن تامپسون توسعه داده میشود. این زبان در نوامبر ۲۰۰۹ معرفی شد و در حال حاضر در چند سامانهٔ اجرایی گوگل استفاده میشود. مترجم گو از لینوکس، مک او اس، ویندوز و انواع سیستمهای عامل بیاسدی مانند FreeBSD پشتیبانی میکند. از لحاظ معماری پردازنده نیز، معماری x86، معماری x64، معماری آرم و معماری POWER که مخصوص به شرکت آیبیام است، توسط مترجم گو پشتیبانی میشوند.
زبان برنامه نویسی گو Go v1.6.2
Go یک زبان برنامه نویسی منبع باز است که توسط گوگل ایجاد شده است تا فرآیند ساخت نرم افزارهای کارآمد قابل اعتماد و ساده را برای برنامه نویسان بسیار آسان تر کند. Go یک زبان برنامهنویسی ترجمهشده (compiled language) و دارای بازیافت حافظه (Garbage collection) و همروند (Concurrency) است که در شرکت گوگل و توسط رابرت گریسمر، راب پایک و کن تامپسون توسعه داده میشود. این زبان در نوامبر ۲۰۰۹ معرفی شد و در حال حاضر در چند سامانهٔ اجرایی گوگل استفاده میشود. مترجم گو از لینوکس، مک او اس، ویندوز و انواع سیستمهای عامل بیاسدی مانند FreeBSD پشتیبانی میکند. از لحاظ معماری پردازنده نیز، معماری x86، معماری x64، معماری آرم و معماری POWER که مخصوص به شرکت آیبیام است، توسط مترجم گو پشتیبانی میشوند.
اهداف ایجاد زبان گو شامل موارد زیر است:
- کارایی زبانهای ترجمهشده دارای سامانه نوع ایستا،و آسانی برنامهنویسی زبانهای پویا
- امنیت نوعها، و امنیت حافظه
- پشتیبانی برای همروندی و ارتباط
- زباله جمعکن کارا، و بدون تأخیر
- زمان ترجمه کوتاه
شیگرایی
در زبان گو، ارثبری نوعها وجود ندارد. در این زبان، میتوان برای هر نوع دادهای، حتی برای نوعهای داخلی، مثل اعداد صحیح فاقد بستهبندی، تابع عضو تعریف کرد، و این عمل محدود به ساختها (ردهها) نمیشود. در زبان گو از رابطها (به انگلیسی: Interfaces) میتوان برای تعریف رفتار یک شی استفاده کرد. هر رابط مجموعهای از تعریف توابع است، و هر نوعی که توابع این رابط را داشته باشد، این رابط را پیادهسازی کرده است.
همروندی
گوروتین (goroutine) تابعی است که به صورت همروند با بقیه گوروتینها در فضای حافظه یکسان اجرا میشود. گوروتینها معادل با ریسمانهای سیستمعامل نیستند، بلکه چندین گوروتین بین چندین ریسمان سیستمعامل تسهیم میشوند.
لینک های دانلود