2022-5-20 实习Day41 1、退汇业务收款人为空入表报错问题排查及解决。 –3小时 100% 2、黑名单返回结果字段内容缺失,入表不成功业务接口代码有问题 –2小时 80% 3、退汇表结构字段可为空修改,黑名单接口业务代码修改 –1小时 80%
Golang编程学习(part 36) 1、文件编程应用实例 ① 拷贝文件:将一张图片/电影/mp3拷贝到另外一个文件 e:/abc.jpg io包 func Copy(dst Writer, src Reader) (written int64, err error)
注意:Copy函数是io包提供的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 package mainimport ( "bufio" "fmt" "io" "os" ) func main () { srcFile := "D:/桌面/aaa.txt" dstFile := "D:/桌面/bbb.txt" file, err := CopyFile(dstFile, srcFile) if err != nil { fmt.Printf("拷贝错误 err=%v\n" , err) } fmt.Println(file) } func CopyFile (dstFileName string , srcFileName string ) (written int64 , err error ) { srcFile, err := os.Open(srcFileName) if err != nil { fmt.Printf("open file err=%v\n" , err) } defer srcFile.Close() reader := bufio.NewReader(srcFile) dstFile, err := os.OpenFile(dstFileName, os.O_WRONLY|os.O_CREATE, 0666 ) if err != nil { fmt.Printf("open file err=%v\n" , err) return } writer := bufio.NewWriter(dstFile) defer dstFile.Close() return io.Copy(writer, reader) }
② 统计英文、数字、空格和其他字符数量 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 package mainimport ( "bufio" "fmt" "io" "os" ) type CharCount struct { ChCount int NumCount int SpaceCount int OtherCount int } func main () { fileName := "D:/桌面/aaa.txt" file, err := os.Open(fileName) if err != nil { fmt.Printf("open file err=%v\n" , err) return } defer file.Close() oneInstance := CharCount{} reader := bufio.NewReader(file) for { str, err := reader.ReadString('\n' ) rue := []rune (str) for _, v := range rue { switch { case v >= 'a' && v <= 'z' : fallthrough case v >= 'A' && v <= 'Z' : oneInstance.ChCount++ case v == ' ' || v == '\t' : oneInstance.SpaceCount++ case v >= '0' && v <= '9' : oneInstance.NumCount++ default : oneInstance.OtherCount++ } } if err == io.EOF { break } } fmt.Printf("字符个数=%v,数字个数=%v,空格个数=%v,其他字符个数=%v" , oneInstance.ChCount, oneInstance.NumCount, oneInstance.SpaceCount, oneInstance.OtherCount) }