畢業之前,每個月津津樂道的便是程式設計語言熱門排行榜。最留意前排坐的幾位,但是還會去注意下以前沒有聽說過的各種語言。現在工作了,只是偶爾會想起來去瞅兩眼,也不會再為語言的排名情況想太多。最近,公司突然成了了一個要以go語言為開發語言的小組,我平時可能工作太清閑,在組內也起不了大作用,便被抽調過來湊數了。現在才知道,原來改bug的日子是多麼美好。雖然我不喜歡“前端開發”這幾個字,但怎麼說也稍微有些基礎,平時遇到問題也能很快找到突破口。現在,是各種沒有聽說過,各種學習啊。那也是沒有辦法的事情啊。希望通過這段時間的學習改掉我拖拉不努力的壞習慣吧。老大說了,多記點筆記,總歸還是極好地。(呵呵,甄嬛傳看多了,我記不住原話了,反正是這個意思)
閑話少說,開始記錄今天的學習進度。控制語句、數組的基礎算是看完了,很多小程式也都實現了一下。深入一些的,還有一些需要謹記的特殊情況還沒有認真看。反正這些電子書我都打算多翻閱幾遍的。
大致的程式結構便是如此,要有package,匯入包。最讓人彆扭的還是該有括弧的地方沒括弧,還有規定的各種換行的規定。因為以前使用java習慣了,動不動可能就把分號給加上了。go語言中可以在語句結束時候沒有分號,是因為它會自動給加上分號,這有個問題就比較麻煩了,如果不按規定的格式寫,go的編譯器就沒有辦法成功編譯了,會有語法錯誤。像在java中,{}可以跟在判斷條件後邊,也可以另起一行,但是在go中,就必須跟在判斷條件後邊。剛開始的時候好不習慣啊,總是弄錯。
雖然有讓人彆扭的地方,同樣也有讓人豁然開朗的地方。我雖然是初次接觸go語言,但是還是被switch給驚到了。真是太牛了,太有心意了,先上代碼。
在java語言中,switch中的運算式必須是常量或者整數,而go中非常靈活。switch中可以有運算式,但是也可以像上例中沒有運算式,直接進入case中進行判斷。case中可包含各種條件的判定。不錯吧,這是我以前都沒有見到的其他語言有如此優勢。
go中變數聲明很有特點,舉個例子,var a int 這個語句聲明了一個整型的變數a,有點像mysql資料庫建表的寫法,看著還能適應吧。這中聲明的結果與java還是多少有些相似的,雖然沒有指明是什麼值,但是會預設給它賦此類型的預設值。還可以這樣聲明: temp := 15 一個陳述式完成了變數的聲明和初始化。沒有顯式指名資料類型,會按照後面的值的類型給變數指定類型,方便吧。
還有如此賦值形式: a,b :=10,16相當於a=10,b=16,真方便吧。
還有,像一些比較主流的程式設計語言,一個函數的傳回值最多是一個,而go中的傳回值可以是任意個,關於函數還在學習中。。。。。。
今天三四個小時就學了這些吧,還開會,開得腰疼,都沒怎麼聽懂。確實感覺到,自己跟那些技術大牛的差距還遠的遠呢,所以,一定好好學習,早日擺脫菜鳥的帽子。
go還在繼續......