文件操作 - issue16870.go
返回文件管理
返回主菜单
删除本文件
文件: /usr/share/go-1.23/test/fixedbugs/issue16870.go
编辑文件内容
// run // Copyright 2016 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 ( "log" "reflect" ) func test(got, want interface{}) { if !reflect.DeepEqual(got, want) { log.Fatalf("got %v, want %v", got, want) } } func main() { var i int var ip *int var ok interface{} // Channel receives. c := make(chan int, 1) c2 := make(chan int) c <- 42 i, ok = <-c test(i, 42) test(ok, true) c <- 42 _, ok = <-c test(ok, true) c <- 42 select { case i, ok = <-c: test(i, 42) test(ok, true) } c <- 42 select { case _, ok = <-c: test(ok, true) } c <- 42 select { case i, ok = <-c: test(i, 42) test(ok, true) default: log.Fatal("bad select") } c <- 42 select { case _, ok = <-c: test(ok, true) default: log.Fatal("bad select") } c <- 42 select { case i, ok = <-c: test(i, 42) test(ok, true) case <-c2: log.Fatal("bad select") } c <- 42 select { case _, ok = <-c: test(ok, true) case <-c2: log.Fatal("bad select") } close(c) i, ok = <-c test(i, 0) test(ok, false) _, ok = <-c test(ok, false) // Map indexing. m := make(map[int]int) i, ok = m[0] test(i, 0) test(ok, false) _, ok = m[0] test(ok, false) m[0] = 42 i, ok = m[0] test(i, 42) test(ok, true) _, ok = m[0] test(ok, true) // Type assertions. var u interface{} i, ok = u.(int) test(i, 0) test(ok, false) ip, ok = u.(*int) test(ip, (*int)(nil)) test(ok, false) _, ok = u.(int) test(ok, false) u = 42 i, ok = u.(int) test(i, 42) test(ok, true) _, ok = u.(int) test(ok, true) u = &i ip, ok = u.(*int) test(ip, &i) test(ok, true) _, ok = u.(*int) test(ok, true) }
修改文件时间
将文件时间修改为当前时间的前一年
删除文件