Goby زبانی شیئگرا و تفسیری است که با الهام از زبان Ruby به طور کامل با استفاده از زبان Go نوشته شده است که یکی از اهداف اصلی در طراحی زبان Goby این بوده تا بر توسعهٔ میکروسرویسها متمرکز باشد (با آشنایی بیشتر با میکروسرویسها، به مقالهٔ Microservice چیست؟ مراجعه نمایید.)
ویژگیهای شاخص زبان Goby
Goby از یک لایبرری استاندارد برخوردار میباشد که فیچرهای بسیاری منجمله Plugin System را شامل میگردد. علاوه بر این، از جمله دیگر قابلیتهای این زبان اپنسورس میتوان به موارد زیر اشاره کرد:
- مکانیستم قدرتمند thread/channel
- دارای HTTP Server به صورت پیشفرض
- پشتیبانی از PostgreSQL و JSON
- امکان بارگزاری پکیجهای نوشته شده برای زبان Go
همچنین یکی دیگر از قابلیتهای این زبان، امکان دسترسی به آبجکتهای زبان Go به طور مستقیم است. به عنوان نمونه سورسکد نوشته شده با زبان Goby داریم:
require "net/simple_server"
server = Net::SimpleServer.new("3000")
i = 0
server.get("/") do |req, res|
puts(i)
i = i+1
res.body = req.method + " Hello World"
res.status = 200
end
server.get("/not_found") do |req, res|
res.body = "Not Found"
res.status = 404
end
server.start
همانطور که مشاهده میشود، شباهت قابلتوجهی مابین سینتکس زبان Goby با زبان Ruby وجود دارد.