นักพัฒนาซอฟต์แวร์หลักสามคนของ Go ที่ Google ได้แก่ Robert Griesemer, Rob Pike และ Ken Thompson เป้าหมายของพวกเขาคือการสร้างภาษาโดยยึดตามไวยากรณ์ของภาษาโปรแกรม C ซึ่งจะกำจัด "ขยะภายนอก" ของภาษาเช่น C ++ ด้วยเหตุนี้ Go eschews คุณลักษณะหลายอย่างของภาษาสมัยใหม่อื่น ๆ เช่นวิธีการและการดำเนินการมากไป, การคำนวณทางคณิตศาสตร์และการสืบทอดประเภท
Go ไม่ใช่ภาษาที่ไม่มีรูปแบบ: อนุสัญญาระบุรายละเอียดการจัดรูปแบบมากมายรวมถึงวิธีการเยื้องและช่องว่างที่จะใช้ ภาษาต้องการให้ไม่มีตัวแปรที่ประกาศหรือไลบรารีที่อิมพอร์ตไม่ได้ใช้และคำสั่งส่งคืนทั้งหมดเป็นภาคบังคับ
ไปใช้ "การอนุมานประเภท" ในการประกาศตัวแปร: ประเภทตัวแปรแทนที่จะเป็นส่วนหนึ่งที่ชัดเจนของคำสั่งประกาศจะถูกสรุปโดยประเภทค่าตัวเอง ตัวอย่างเช่นใน C ตัวแปรจำนวนเต็ม x สามารถตั้งค่าเป็น 0 ด้วยคำสั่ง
int x = 0;
ในการไปงบที่เทียบเท่าจะเป็น:
x: = 0
ตัวแปรจะถูกพิมพ์เป็นจำนวนเต็มตามค่าตัวเอง
นี่คือความคลาสสิค "สวัสดีโลก!" โปรแกรมตามที่เขียนใน Go:
แพคเกจหลักนำเข้า "fmt" func main () {fmt.Println ("Hello, World")}
ภาษาการเขียนโปรแกรมเงื่อนไขการเขียนโปรแกรม