Go指標複製問題
package main
import "fmt"
type R struct {
ID int
CPU float32
MEM float32
}
func main() {
rr := GetR()
var rs []*R
for k, r := range *rr {
fmt.Printf("%dth r, id: %d, cpu: %f, mem: %f\n", k, r.ID, r.CPU, r.MEM)
rs = append(rs, &r)
}
fmt.Println(rs)
iter(&rs)
}
func NewR(i int, c, m float32) *R {
return &R{
ID: i,
CPU: c,
MEM: m,
}
}
func iter(rs *[]*R) {
for _, r := range *rs {
fmt.Printf("id: %d, cpu: %f, mem: %f\n", r.ID, r.CPU, r.MEM)
}
}
func GetR() *[]R {
rr := &[]R{
*NewR(0, 4.0, 16000.0),
*NewR(1, 2.0, 8000.0),
*NewR(2, 1.0, 4000.0),
}
return rr
}
這段程式碼輸出為什麼是這個?希望麻煩大家幫忙解答下。https://github.com/dockerq/go-pointer-trick
0th r, id: 0, cpu: 4.000000, mem: 16000.000000
1th r, id: 1, cpu: 2.000000, mem: 8000.000000
2th r, id: 2, cpu: 1.000000, mem: 4000.000000
[0xc42000e2a0 0xc42000e2a0 0xc42000e2a0]
id: 2, cpu: 1.000000, mem: 4000.000000
id: 2, cpu: 1.000000, mem: 4000.000000
id: 2, cpu: 1.000000, mem: 4000.000000
更多原創文章乾貨分享,請關注公眾號
- 加微信實戰群請加微信(註明:實戰群):gocnio
相關文章
- GO 指標*&問題疑問Go指標
- 淺複製和深複製的概念與值複製和指標複製(引用複製)有關 淺複製 “指標複製 深複製 值複製指標
- Linkedin 面試題 | 複製隨機指標面試題隨機指標
- prometheus-go-sdk不活躍指標清理問題PrometheusGo指標
- GO 指標Go指標
- Go 語言傳值和深淺複製問題Go
- 【CUDA學習】結構體指標複製結構體指標
- 【連結串列問題】打卡8:複製含有隨機指標節點的連結串列隨機指標
- C++指標問題C++指標
- C語言指標安全及指標使用問題C語言指標
- 有關this指標指向問題指標
- 指標問題的一點體會(區別 [指向指標的指標] 與 [指標的指標] .) (轉)指標
- go slice深複製和淺複製Go
- go的深複製跟淺複製Go
- MySQL複製的奇怪問題MySql
- Go 陣列指標(指向陣列的指標)Go陣列指標
- GO語言————4.9、指標Go指標
- GO 空指標和nilGo指標
- C語言指標常見問題C語言指標
- excel多指標柱圖問題求教Excel指標
- go 語言指標學習Go指標
- GO切片傳值/引用/指標Go指標
- 兄弟連go教程(6)指標Go指標
- 第 10 節:複合型別-5. 指標 -- 指標與指標變數 -8. 多級指標型別指標變數
- C# 指標複習示例C#指標
- JS中的陣列複製問題JS陣列
- 解決移動端複製問題
- 陣列(引用型別)複製問題陣列型別
- 【cmd】IF ELSE 複製(copy)檔案問題
- c 語言指標操作經典問題指標
- 指標常見問題(Android之JNI)指標Android
- 常資料成員的深複製,const+字元型指標 ,如何寫深複製的程式碼?字元指標
- 結構體中的指標&&複製賦值建構函式改造結構體指標賦值函式
- 複合指標、派生指標是什麼,你搞清楚了嘛?指標
- Go語言複製檔案Go
- Go 語言指標符號 *和&Go指標符號
- 函式指標複雜的例子函式指標
- MySQL之 從複製延遲問題排查MySql