go-hep.org/x/hep@v0.38.1/heppdt/gen-tabledata.go (about) 1 // Copyright ©2017 The go-hep Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 //go:build ignore 6 7 // gen-tabledata generates tabledata.go 8 package main 9 10 import ( 11 "io" 12 "log" 13 "os" 14 ) 15 16 func main() { 17 f, err := os.Create("tabledata.go") 18 if err != nil { 19 log.Fatalf( 20 "could not create 'tabledata.go': %v\n", 21 err, 22 ) 23 } 24 defer f.Close() 25 26 for _, fname := range []string{ 27 "tabledata.header", 28 "tabledata.tbl", 29 "tabledata.footer", 30 } { 31 src, err := os.Open(fname) 32 if err != nil { 33 log.Fatalf( 34 "could not open data file [%s]: %v\n", 35 fname, 36 err, 37 ) 38 } 39 defer src.Close() 40 _, err = io.Copy(f, src) 41 if err != nil { 42 log.Fatalf( 43 "error copying content of [%s]: %v\n", 44 fname, 45 err, 46 ) 47 } 48 err = src.Close() 49 if err != nil { 50 log.Fatalf( 51 "error closing file [%s]: %v\n", 52 fname, 53 err, 54 ) 55 } 56 } 57 err = f.Close() 58 if err != nil { 59 log.Fatalf("error closing [%s]: %v\n", 60 f.Name(), 61 err, 62 ) 63 } 64 }