go - 结构嵌入:不能引用未导出的名称 os.fileStat
问题描述
不久前,我试图从这个答案中嵌入以下提示。
// Has all methods of *sql.Row.
type myRow struct {
*sql.Row
}
但是,当我尝试https://play.golang.org/p/Vnyx4lTwISn时会抛出错误cannot refer to unexported name os.fileStat
package main
import (
"fmt"
"os"
)
type myFileStat struct {
info *os.fileStat
}
func main() {
fmt.Println("Hello, playground")
}
你能给我指出正确的方向吗?
解决方案
在 go 中,以小写字母开头的标识符是不可见的。因此出现“未导出的名称 os.fileStat”错误。请参阅https://golang.org/ref/spec#Exported_identifiers
听起来你在追求 os.Stat 和 os.LStat 之类的东西。它们返回从 os 包内部的 fileStat 派生的 FileInfo 类型。
在此处查看 unix os.Stat 的实现https://github.com/golang/go/blob/a38a917aee626a9b9d5ce2b93964f586bf759ea0/src/os/stat_unix.go
推荐阅读
- c# - TFS 2018 build failing with Error MSB6006: "csc.exe" exited with code 1
- c++ - 将字符串拆分为数组,数组中不需要的元素(似乎)
- r - 使用 R 中 dplyr 中的 mutate 函数创建具有日期值(2000-05-06)的新列
- spring - 需要创建一个停用用户的控制器。
- apache-spark - 使用字符串分区键与整数分区键的 Hive/Impala 性能
- ios - CoreData + Codable 不保存
- pandas - 熊猫数据框行背景颜色
- google-bigquery - 大查询错误:8822097
- python - 这段python代码运行得很慢?
- selenium - Chrome Headless 在网站上未被识别为 Google Chrome