C語言中文網 目錄
首頁 > Go語言教程 > Go語言簡介 閱讀:9,372

Go語言代碼風格清晰、簡單

Go 語言寫起來類似于C語言,因此熟悉C語言及其派生語言(C++C#、Objective-C 等)的人都會迅速熟悉這門語言。

C語言的有些語法會讓代碼可讀性降低甚至發生歧義。Go 語言在C語言的基礎上取其精華,棄其糟粕,將C語言中較為容易發生錯誤的寫法進行調整,做出相應的編譯提示。

1) 去掉循環冗余括號

Go 語言在眾多大師的豐富實戰經驗的基礎上誕生,去除了C語言語法中一些冗余、煩瑣的部分。下面的代碼是C語言的數值循環:
// C語言的for數值循環
for(int a = 0;a<10;a++){
    // 循環代碼
}
Go語言中,這樣的循環變為:
for a := 0;a<10;a++{
    // 循環代碼
}
for 兩邊的括號被去掉,int 聲明被簡化為:=,直接通過編譯器右值推導獲得 a 的變量類型并聲明。

2) 去掉表達式冗余括號

同樣的簡化也可以在判斷語句中體現出來,以下是C語言的判斷語句:
if (表達式){
    // 表達式成立
}
在 Go 語言中,無須添加表達式括號,代碼如下:
if 表達式{
    // 表達式成立
}

3) 強制的代碼風格

Go 語言中,左括號必須緊接著語句不換行。其他樣式的括號將被視為代碼編譯錯誤。這個特性剛開始會使開發者有一些不習慣,但隨著對 Go 語言的不斷熟悉,開發者就會發現風格統一讓大家在閱讀代碼時把注意力集中到了解決問題上,而不是代碼風格上。

同時 Go 語言也提供了一套格式化工具。一些 Go 語言的開發環境或者編輯器在保存時,都會使用格式化工具進行修改代碼的格式化,讓代碼提交時已經是統一格式的代碼。

4) 不再糾結于 i++ 和 ++i

C語言非常經典的考試題為:
int a, b;
a = i++;
b = ++i;
這種題目對于初學者簡直摸不著頭腦。為什么一個簡單的自增表達式需要有兩種寫法?

在 Go 語言中,自增操作符不再是一個操作符,而是一個語句。因此,在 Go 語言中自增只有一種寫法:

i++

如果寫成前置自增++i,或者賦值后自增a=i++都將導致編譯錯誤。

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo