用Go寫完Hello World,一些須要注意的地方

序言

Go但是說是近幾年比較火的語言了,目前版本已經到了1.13,若是說有其餘語言的基礎,學習Go仍是挺簡單的。這篇文章主要是總結一些,和其餘語言可能會不同的地方。python

多返回值

以前若是一個方法像返回多個值的話,也是有相應的辦法,好比 PythonJavascriptsegmentfault

  • Python
def fc()
    return (1,"2",3);

v1,v2,v3 = fc();
  • Javascript
function fc(){
    return {1,"2",3}
}
let {v1,v2,v3} = fc()

再來看看Go的多返回值例子函數

func fc() (int, string, int) {
    return 1, "2", 3
}

在靜態類型的幫助下,整個方法相對清晰一些,多返回值在Go程序中會常常遇到,尤爲當方法要同時返回一個錯誤的時候。學習

自帶的格式化代碼方法

Go裏面提供了一個go fmt,裝完Go環境之後,而且配置好環境變量之後,你可使用go fmt main.go來格式化代碼code

升級版的if

通常用ifip

if 1 == 1 {
}

爲何說goif是升級過的呢get

if count := 10; count < 10 {
}

代碼中能夠在if中進行賦值操做,其實還能夠進行函數調用,數學運算。數學

使用go module 管理依賴

這篇文章在編寫的時候go 1.13已經發布了,在go 1.11中帶來了新的包管理方式go module
1.11以前,我用過的是dep,這種方式仍是脫離不了go path,也就是你須要把項目放在go path下。
使用go module就能夠脫離go path,你能夠把你的項目隨意的放在你想放的地方。
你能夠參照這篇文章來學習go modulestring

沒有while循環

在我所接觸過Go之外的的計算機高級語言中,都會提供兩種循環,forwhile
Gofor循環是能夠不帶參數的,以下io

for {
}

這時候就是一個死循環了,若是帶參數的話,和大多數語言是同樣的

for i := 1; i < 10; i++ {

}

沒有 ++i,--i

這個的話好像也無傷大雅。

沒有三元運算符

沒有三元運算符這個貌似挺難受的,對於我這種習慣偷懶的人來講,意味着要用長長的if else來替代,這是寫代碼的角度。

相關文章
相關標籤/搜索