1. 程式人生 > >GO 語言學習筆記--數組切片篇

GO 語言學習筆記--數組切片篇

copy 進行 語言學 新的 學習筆記 函數 根據 不同 用處

1、對於make 數組切片,長度和容量需要理解清楚:

容量表示底層數組的大小,長度是你可以使用的大小;
容量的用處在哪?在與當你用 appen d擴展長度時,如果新的長度小於容量,不會更換底層數組,否則,go 會新申請一個底層數組,新申請的地址進行存放
2、對於copy函數,需要註意兩點:

數組切片的copy並不會自動進行分配空間進行拷貝,需要預先進行分配空間,否則會拷貝不成功,一般做法是根據需要拷貝的內容進行開辟長度
copy函數,若切片中存放的是指針,拷貝的是將地址進行拷貝,多處使用的時候,需要註意資源爭搶的問題!
3、使用數組切片當函數參數使用的時候需要註意:

當數組切片中是指針的時候,使用切片傳參數,那麽在函數內容進行更改數據的時候,會更改原本的值
當數組切片中不是是指針的時候,使用切片傳參數,那麽在函數內容進行更改數據的時候,不會更改原本的值,和c++的理解不同

GO 語言學習筆記--數組切片篇