@@ -2,7 +2,6 @@ package deepcopy
22
33import (
44 "encoding/json"
5- "fmt"
65
76 "github.com/devlights/gomy/output"
87)
@@ -27,11 +26,7 @@ func JsonDeepCopy() error {
2726 //
2827 // 以下は encoding/json を利用した方法
2928 // --------------------------------------------------------------------------
30- pa := func (v interface {}) string {
31- return fmt .Sprintf ("%p" , v )
32- }
33-
34- clone := func (from , to interface {}) {
29+ clone := func (from , to any ) {
3530 b , _ := json .Marshal (from )
3631 _ = json .Unmarshal (b , to )
3732 }
@@ -48,8 +43,8 @@ func JsonDeepCopy() error {
4843 clone (& i , & i2 )
4944 clone (& s , & s2 )
5045
51- output .Stdoutl ("[i, i2]" , i , i2 , pa ( & i ), pa ( & i2 ) )
52- output .Stdoutl ("[s, s2]" , s , s2 , & s , & s2 )
46+ output .Stdoutl ("[i, i2]" , i , i2 )
47+ output .Stdoutl ("[s, s2]" , s , s2 )
5348
5449 // --------------------------------------------------------------------------
5550 // スライス
@@ -59,10 +54,10 @@ func JsonDeepCopy() error {
5954 )
6055
6156 clone (& sli1 , & sli2 )
62- output .Stdoutl ("[sli1, sli2]" , sli1 , sli2 , pa ( & sli1 ), pa ( & sli2 ) )
57+ output .Stdoutl ("[sli1, sli2][1] " , sli1 , sli2 )
6358
6459 sli1 [0 ] = 100
65- output .Stdoutl ("[sli1, sli2]" , sli1 , sli2 , pa ( & sli1 ), pa ( & sli2 ) )
60+ output .Stdoutl ("[sli1, sli2][2] " , sli1 , sli2 )
6661
6762 // --------------------------------------------------------------------------
6863 // マップ
@@ -72,10 +67,10 @@ func JsonDeepCopy() error {
7267 )
7368
7469 clone (& map1 , & map2 )
75- output .Stdoutl ("[map1, map2]" , map1 , map2 , pa ( & map1 ), pa ( & map2 ) )
70+ output .Stdoutl ("[map1, map2][1] " , map1 , map2 )
7671
7772 map1 [1 ] = "melon"
78- output .Stdoutl ("[map1, map2]" , map1 , map2 , pa ( & map1 ), pa ( & map2 ) )
73+ output .Stdoutl ("[map1, map2][2] " , map1 , map2 )
7974
8075 // --------------------------------------------------------------------------
8176 // 構造体
@@ -99,11 +94,11 @@ func JsonDeepCopy() error {
9994 )
10095
10196 clone (& b1 , & b2 )
102- output .Stdoutl ("[b1, b2]" , b1 , b2 , pa ( & b1 ), pa ( & b2 ) )
97+ output .Stdoutl ("[b1, b2][1] " , b1 , b2 )
10398
10499 b1 .Value = "world"
105100 b1 .ValueB = "hello"
106- output .Stdoutl ("[b1, b2]" , b1 , b2 , pa ( & b1 ), pa ( & b2 ) )
101+ output .Stdoutl ("[b1, b2][2] " , b1 , b2 )
107102
108103 return nil
109104}
0 commit comments