Go語言和C++還是很像的,比如指針,值,引用等,但是Go語言有GC,這就極大的方便了我們編程,不用考慮內存使用的問題,這也是選Go不選C++的原因,因為管理內存確實不是應用編程要考慮的問題,而是更底層的系統編程。
我們大概知道,幾乎所有語言中,變量有的作用范圍有全局變量和局部變量。通常來說,局部變量的作用范圍更短,一般在函數中的變量就是局部變量。在c++中,局部變量是分配在堆上的,返回一個局部變量會報錯,但是Go中,編譯器可以決定是分配在堆上還是棧上,保證返回局部變量不會報錯,非常貼心。
Go和C++都有new這個字符,在Go中,new是內置函數,用於分配內存,並返回指針。在c++中,new是關鍵字,大概也是分配內存,但還是有很大的不一樣。
在數據類型上,go語言很特別,沒有double類型及其關鍵字,而是float32,float64。並且由於go語言不支持函數重載,在math包中,參數類型都是float64,如果是其他類型的數字,則需要強制類型轉換,靈活性不如C++。
參考博客:Go語言---函數返回局部變量地址