Golang指针转字符串,golang字符串转指针


本文摘自网络,作者,侵删。

指针转字符串

        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字符串转指针

相关阅读 >>

手撸Golang 仿spring ioc/aop 之3

Golang 管道线程安全吗

Golang使用for循环的一个小技巧

Golang 使用 for 输出九九乘法表

向github开源项目提交代码(pr)的详细步骤:

ssh连接服务器后执行多条命令

Golang交叉编译简述

Go中控制并发的两种方式

Go - time.rfc3339 时间格式化

聊聊storagetapper的server

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...