登录
首页 >  Golang >  Go问答

在 Go 1.18 版本后,由于弃用了 syscall.Syscall6 函数,那么在哪里可以找到 SyscallN 的相关文档呢?

来源:stackoverflow

时间:2024-02-10 12:57:24 354浏览 收藏

珍惜时间,勤奋学习!今天给大家带来《在 Go 1.18 版本后,由于弃用了 syscall.Syscall6 函数,那么在哪里可以找到 SyscallN 的相关文档呢?》,正文内容主要涉及到等等,如果你正在学习Golang,或者是对Golang有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!

问题内容

当我将 go.mod 中的 go.mod 值从 go 1.16 更改为 go 1.20 后,在 go 代码上运行 golangci-lint 时,我现在收到此 linter 警告:

windows.go:210:16: sa1019: syscall.syscall6 has been deprecated since go 1.18: use syscalln instead. (staticcheck)
        err, _, _ := syscall.syscall6(fn, 5, addr, uintptr(unsafe.pointer(&size)), 1, uintptr(family), uintptr(class), 0)

我想将 syscalln 的文档与 syscall.syscall6 进行比较,看看从已弃用的函数移动到建议的替换函数是否存在任何问题,但我无法使用 go doc 检索该函数的文档或查找该函数的文档在系统调用包文档中。 syscall 包文档有 syscall6 条目,但没有 sycalln 条目。当我尝试使用 go doc 时,我得到以下信息:

$ go doc syscall.SyscallN
doc: no symbol SyscallN in package syscall
exit status 1

syscalln 是否位于 syscall 以外的包中?在哪里可以找到 syscalln 的文档?

请注意,这是针对由 //go:build windows 注释(位于 windows.go 文件顶部)保护的 windows 特定代码。


正确答案


正如 @SteffenUllrich 所指出的,我必须从 linux/amd64 更改 Rendered for 下拉值,如下所示:

windows/amd64,如下所示:

syscall.SyscallN 的文档可在此处获取(请注意 URL 中的查询组件):https://pkg.go.dev/syscall?GOOS=windows#SyscallN

今天关于《在 Go 1.18 版本后,由于弃用了 syscall.Syscall6 函数,那么在哪里可以找到 SyscallN 的相关文档呢?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>