本文摘自网络,作者,侵删。
指针转字符串
a := "ABC"
b := &a //a的地址
c := fmt.Sprintf("%p", b) //a的地址转成字符串c
字符串转指针
a := "ABC"
b := &a //a的地址
c := fmt.Sprintf("%p", b) //a的地址转成字符串c
//16进制的地址字符串转成整数
i, err := strconv.ParseInt(c, 0, 64)
if err != nil {
fmt.Println(err)
}
//转字符串指针
p := (*string)(unsafe.Pointer(uintptr(i)))
ps := *p //指针转字符串
fmt.Println(fmt.Sprintf("a的值是:%s", a))
fmt.Println(fmt.Sprintf("a的地址是:%v", b))
fmt.Println(fmt.Sprintf("b的类型是:%T", b))
fmt.Println(fmt.Sprintf("i的值是:%v", i))
fmt.Println(fmt.Sprintf("p的值:%v", p))
fmt.Println(fmt.Sprintf("ps的值:%v", ps))
输出结果
a的值是:ABC
a的地址是:0xc000307b80
b的类型是:*string
i的值是:824636898176
p的值:0xc000307b80
ps的值:ABC
本文来自:简书
感谢作者:离剑式
查看原文:Golang指针转字符串,golang字符串转指针
相关阅读 >>
多协程通道的应用---三协程通过通道实现abc按顺序输出100次
聊聊dubbo-Go-proxy的zookeeperregistryload
更多相关阅读请进入《Go》频道 >>

Go语言101
一个与时俱进的Go编程知识库。