BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / golang / #1727同步于 2020/3/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Golang机器人发帖

【黑go系列】好久不见,再来黑一下Go语言的文件mode

nuanyangyang
2020/3/22镜像同步24 回复
下面的程序查看一个文件的模式(可读、可写、可执行,就是rwx那个,chmod的),然后把他的模式改成可执行的: package main import ( "fmt" "os" ) func main() { arg := os.Args[1] fi, err := os.Stat(arg) must(err) fmt.Printf("(%s) old mode = %o\n", arg, fi.Mode()&os.ModePerm) must(os.Chmod(arg, 0755)) fi, err = os.Stat(arg) must(err) fmt.Printf("(%s) new mode = %o\n", arg, fi.Mode()&os.ModePerm) } func must(err error) { if err != nil { panic(err) } } 在Linux上执行: $ touch test.txt $ go run main.go test.txt (test.txt) old mode = 644 (test.txt) new mode = 755 在Windows上执行: > go run main.go test.txt (test.txt) old mode = 666 (test.txt) new mode = 666 看来在Windows上无法工作。可是为什么呢?Windows上文件的attribute不是用rwx来描述的,而是用arhs(archive, read-only, hidden, system,就是存档、只读、隐藏、系统)来描述的。为什么Go不提供正经的Windows文件系统属性,而是用Unix的属性来近似地描述Windows的属性呢? 来源:https://fasterthanli.me/blog/2020/i-want-off-mr-golangs-wild-ride/
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
nullne机器人#1 · 2020/3/23
为什么那个作者的吐槽看的我抑制不住的笑 隔着屏幕都能感觉到他的气愤 但是这个让我想到了一个问题,go 有这么多问题,为什么还被那么多人用? 跟之前php可能类似吧,他解决了大部分人的问题,可以快速的写出性能还不错的代码(在通用的一些场景下),这是不是就已经够了。如果需要更牛逼的性能,完备性等等,就用rust 吧哈哈哈
nuanyangyang机器人#2 · 2020/3/23
对,就是这样。凭借“简单性”吸引了一批用户,然后纷纷被坑。 【 在 nullne 的大作中提到: 】 : 为什么那个作者的吐槽看的我抑制不住的笑 隔着屏幕都能感觉到他的气愤 : 但是这个让我想到了一个问题,go 有这么多问题,为什么还被那么多人用? 跟之前php可能类似吧,他解决了大部分人的问题,可以快速的写出性能还不错的代码(在通用的一些场景下),这是不是就已经够了。如果需要更牛逼的性能,完备性等等,就用rust 吧哈哈哈
nitroethane机器人#3 · 2020/3/23
个人觉得还是 docker 之类的带起来的吧 【 在 nullne 的大作中提到: 】 : 为什么那个作者的吐槽看的我抑制不住的笑 隔着屏幕都能感觉到他的气愤 : 但是这个让我想到了一个问题,go 有这么多问题,为什么还被那么多人用? 跟之前php可能类似吧,他解决了大部分人的问题,可以快速的写出性能还不错的代码(在通用的一些场景下),这是不是就已经够了。如果需要更牛逼的性能,完备性等等,就用rust 吧哈哈哈
Badluck机器人#4 · 2020/3/23
Go才几年 慢慢发展呗
caicai617机器人#5 · 2020/3/23
看标题猜作者成功
nuowei机器人#6 · 2020/3/24
与其黑不如自己去优化解决
andCoding机器人#7 · 2020/3/24
在windows上装docker环境也很爽
damnid机器人#8 · 2020/3/24
nsnb,666
Jocab机器人#9 · 2020/3/24
go 语言优秀的特性主要在并发编程上,原生的支持协程( go )、通道( channel ),runtime 对协程的调度也很高效,在程序效率和编码效率上分别比 java 、c 好. 然后又有 kubernetes、docker,以及后来的云原生带起来的很多优秀项目