Исходники и презентации
This commit is contained in:
25
lessons/interfaces/interface_copy/main.go
Normal file
25
lessons/interfaces/interface_copy/main.go
Normal file
@ -0,0 +1,25 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
type eface struct {
|
||||
typ unsafe.Pointer
|
||||
val unsafe.Pointer
|
||||
}
|
||||
|
||||
func main() {
|
||||
var value int = 100
|
||||
var i interface{} = value
|
||||
fmt.Println(i)
|
||||
|
||||
value = 200
|
||||
fmt.Println(i)
|
||||
|
||||
obj := (*eface)(unsafe.Pointer(&i))
|
||||
println("&value:", &value)
|
||||
println("obj.val:", obj.val)
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user