tag slice

標籤
貢獻4
72
01:58 AM · Nov 04 ,2025

@slice / 博客 RSS 訂閱

soroqer - []A 與 []*A 的內存分配、生命週期-Golang 🔥

一、內存分配 無論 []A 還是 []*A,切片本身的元數據(切片頭)結構是完全相同的。切片頭是一個包含 3 個字段的結構體: ptr:指向底層數組的指針(8 字節)。 len:切片長度(8 字節)。 cap:切片容量(8 字節)。 因此,切片頭本身佔用的內存大小 24 字節,內存完全一致。 切片的核心是底層數組,內存分配的核心差異源於底層數組的元素類型:[]A 存儲完整結構體實例,[]

生命週期 , slice , gc , 指針 , go

收藏 評論

周皺 - javascript字符串常用api使用匯總(一)

javascript字符串常用api使用匯總(一) charAt charCodeAt fromCharCode concat repeat startsWith endsWith includes indexOf lastIndexOf slice substr substring trim charAt、charCodeAt、fromCharCode 按照索引獲

slice , 字符串 , concat , string , Javascript

收藏 評論

Hunter - Golang基礎筆記三之數組和切片

本文首發於公眾號:Hunter後端 原文鏈接:Golang基礎筆記三之數組和切片 這一篇筆記介紹 Golang 裏的數組和切片,以下是本篇筆記目錄: 數組定義和初始化 數組屬性和相關操作 切片的創建 切片的長度和容量 切片的擴容 切片操作 1、數組定義與初始化 第一篇筆記的時候介紹過數組的定義與初始化,這裏再介紹一下。 數組是具有固定長度的相同類型元素的序列。 這裏有兩個點

數組 , slice , 擴容 , go

收藏 評論

soroqer - Array 與 Slice 的源碼分析與高效使用-Golang 🔥

在 Go 語言中,數組(array)和切片(slice)是兩種不同的數據結構,它們在內存分配機制上存在着顯著差異。深入理解這些差異及原理並恰當使用,能夠幫助我們提高代碼的執行效率。 在使用上,由於語法糖的存在,很多初學者對於二者並不敏感。數組的寫法是 [n]int,切片則是 []int,區別僅在於是否在 [] 中體現其長度。 從實現上講,slice 是 array 的一種封裝再實現,將長度不可變的

性能優化 , 內存 , 數組 , slice , go

收藏 評論

Linker - Go源碼學習(基於1.24.1)-slice擴容機制-實踐才是真理

本文起於一次驗證slice擴容機制的測試,搜索引擎和AI給我們關於slice擴容機制的解釋大多是“低於1024翻倍,超過則乘1.25倍”(以下用“1024機制”代指),但是在我基於go1.24.1的結果卻完全不是這麼回事,難道是營銷號太多誤導我們了嗎?以下將結合源碼學習,實踐是檢驗真理的唯一標準。 一. 驗證我們隨手搜到的“1024機制” a := make([]int, 0, 512)

源碼學習 , slice , 擴容 , go

收藏 評論