Polymorphic copy: Difference between revisions

Content added Content deleted
(→‎{{header|Go}}: small update for library change)
Line 659: Line 659:
i1, i2, i3 = t1, s1, r1
i1, i2, i3 = t1, s1, r1
fmt.Println("\nPolymorphic:")
fmt.Println("\nPolymorphic:")
fmt.Println("i1:", i1, "/", i1.identify(), "/", reflect.Typeof(i1))
fmt.Println("i1:", i1, "/", i1.identify(), "/", reflect.TypeOf(i1))
fmt.Println("i2:", i2, "/", i2.identify(), "/", reflect.Typeof(i2))
fmt.Println("i2:", i2, "/", i2.identify(), "/", reflect.TypeOf(i2))
fmt.Println("i3:", i3, "/", i3.identify(), "/", reflect.Typeof(i3))
fmt.Println("i3:", i3, "/", i3.identify(), "/", reflect.TypeOf(i3))


// copy: declare and assign in one step using "short declaration."
// copy: declare and assign in one step using "short declaration."
Line 672: Line 672:
// and that types are preserved.
// and that types are preserved.
fmt.Println("\nFirst set now modified:")
fmt.Println("\nFirst set now modified:")
fmt.Println("i1:", i1, "/", i1.identify(), "/", reflect.Typeof(i1))
fmt.Println("i1:", i1, "/", i1.identify(), "/", reflect.TypeOf(i1))
fmt.Println("i2:", i2, "/", i2.identify(), "/", reflect.Typeof(i2))
fmt.Println("i2:", i2, "/", i2.identify(), "/", reflect.TypeOf(i2))
fmt.Println("i3:", i3, "/", i3.identify(), "/", reflect.Typeof(i3))
fmt.Println("i3:", i3, "/", i3.identify(), "/", reflect.TypeOf(i3))


fmt.Println("\nCopies made before modifications:")
fmt.Println("\nCopies made before modifications:")
fmt.Println("i1c:", i1c, "/", i1c.identify(), "/", reflect.Typeof(i1c))
fmt.Println("i1c:", i1c, "/", i1c.identify(), "/", reflect.TypeOf(i1c))
fmt.Println("i2c:", i2c, "/", i2c.identify(), "/", reflect.Typeof(i2c))
fmt.Println("i2c:", i2c, "/", i2c.identify(), "/", reflect.TypeOf(i2c))
fmt.Println("i3c:", i3c, "/", i3c.identify(), "/", reflect.Typeof(i3c))
fmt.Println("i3c:", i3c, "/", i3c.identify(), "/", reflect.TypeOf(i3c))
}</lang>
}</lang>
Output:
Output: