文件操作 - issue19113.go
返回文件管理
返回主菜单
删除本文件
文件: /usr/share/go-1.23/test/fixedbugs/issue19113.go
编辑文件内容
// run // Copyright 2019 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package main import "reflect" var tests = []interface{}{ func(x int, s int) int { return x << s }, func(x int, s int64) int { return x << s }, func(x int, s int32) int { return x << s }, func(x int, s int16) int { return x << s }, func(x int, s int8) int { return x << s }, func(x int, s int) int { return x >> s }, func(x int, s int64) int { return x >> s }, func(x int, s int32) int { return x >> s }, func(x int, s int16) int { return x >> s }, func(x int, s int8) int { return x >> s }, func(x uint, s int) uint { return x << s }, func(x uint, s int64) uint { return x << s }, func(x uint, s int32) uint { return x << s }, func(x uint, s int16) uint { return x << s }, func(x uint, s int8) uint { return x << s }, func(x uint, s int) uint { return x >> s }, func(x uint, s int64) uint { return x >> s }, func(x uint, s int32) uint { return x >> s }, func(x uint, s int16) uint { return x >> s }, func(x uint, s int8) uint { return x >> s }, } func main() { for _, t := range tests { runTest(reflect.ValueOf(t)) } } func runTest(f reflect.Value) { xt := f.Type().In(0) st := f.Type().In(1) for _, x := range []int{1, 0, -1} { for _, s := range []int{-99, -64, -63, -32, -31, -16, -15, -8, -7, -1, 0, 1, 7, 8, 15, 16, 31, 32, 63, 64, 99} { args := []reflect.Value{ reflect.ValueOf(x).Convert(xt), reflect.ValueOf(s).Convert(st), } if s < 0 { shouldPanic(func() { f.Call(args) }) } else { f.Call(args) // should not panic } } } } func shouldPanic(f func()) { defer func() { if recover() == nil { panic("did not panic") } }() f() }
修改文件时间
将文件时间修改为当前时间的前一年
删除文件