Ryo's blog

归档 · 2022

首页

关于

归档

Golang

GO非类型安全指针-Unsafe.Pointer

一、背景朋友发了一段测试代码里面不正确的使用了atomic.StorePointer,导致GC的时候程序Panic了。 var current int64 atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(&current)), unsafe.Pointer(&latest)) 为什么会Panic这里先按下不表。之前对 unsafe.Pointer 用的并不多,也没有系统了解过。所以就想系统看下。看了下 unsafe.Pointer 官方文档还挺详细的,可能只之前使用出错的人太多了,所以 rsc 单独提了一个 CR 来说明unsafe.Pointer的用法。 二、unsafe.Pointerunsafe.Pointer表示指向任意类型..

更多
Golang

Go 自定义引用包的域名

一、 背景最近在看 Go源码的时候,发下部分库最早是在 x-pkg 里面的,经过一段时间迭代才进了runtime包里面。 x-pkg 里面介绍了用途和源码地址。 golang.org/x 文档 我发现 x-pkg 的源码地址都在 https://go.googlesource.com, 但是我们项目里面导入某个x-pkg库的路径确是 import "golang.org/x/sync/semaphore" 比较好奇,这import的别名是在哪里做的,感觉是个挺冷门的知识,于是搜了下相关资料。 二、实现步骤找到了官网相关资料: hdr-Remote_import_paths 简单说就是在你的网址里面加入如下信息。 <meta name="go-import" content="example.or..

更多