0

私は 9front/Plan9 のファイル マネージャーに取り組んでいます。開発作業は、Plan9 バイナリをビルドするためのクロスコンパイルを使用して、64 ビット Ubuntu の Go v1.15 で行われます。

ユーザー/グループ情報を取得する関数を想定しましょう:

import "syscall"
func GetXid(info os.FileInfo) (string, string) {
    UID := "N/A"
    GID := "N/A"
    if stat, ok := info.Sys().(*syscall.Stat_t); ok {
        UID = strconv.Itoa(int(stat.Uid))
        GID = strconv.Itoa(int(stat.Gid))
    }
    return UID, GID
}

Plan9 のコンパイル中に失敗しますundefined: syscall.Stat_t

syscall パッケージ ページには、Go v1.4 から廃止され、OS 固有のリポジ​​トリに置き換えられたと記載されていgolang.org/x/sys/ます。

  • os.FileInfo.SysLinux および Plan9の OS 固有のキャストを実装する方法
4

1 に答える 1