新機能
Plan 9でもsyscall.Errno型が定義され、error interfaceを実装するようになった
syscall
この項目の注釈は AI により生成されており、誤りを含む場合があります。
概要
Plan 9(GOOS=plan9)上でも、他のプラットフォームと同様にsyscall.Errno型が定義され、errorインターフェースを実装するようになった。Plan 9のシステムコールは実際にはErrorString値を返すため、このErrno型がPlan 9上でこのパッケージから返り値として使われることはない。この型は、syscall.Errnoを参照するポータブルなコードが、Plan 9向けにビルド制約(build constraint)を書かなくてもビルドできるようにするために定義されたものである。
実装解説
src/syscall/syscall_plan9.goのErrno型定義はuintptrのエイリアスで、Error/Temporary/Timeoutの3メソッド(同ファイル l=34-36)を持ち、errorインターフェースを満たす。定義直前のコメント(l=25-31)にある通り、これはGo 1のAPI契約(api/go1.txtのpkg syscall, type Errno uintptr)により存在が保証されているため追加されたものであり、Plan 9のシステムコール自身が返すエラー値は同ファイルで別途定義されているErrorString型である。