Files
infra-provisioner/util.go
2023-09-14 15:54:48 +05:30

36 lines
747 B
Go

package main
import (
"log"
"os"
"reflect"
"strings"
)
func createFile(dir, fileName string) (*os.File, error) {
err := os.MkdirAll(dir, os.ModePerm)
if err != nil {
log.Fatalf("\nErr: %v", err)
}
filePath := strings.Join([]string{dir, fileName}, "/")
file, err := os.Create(filePath)
if err != nil {
log.Fatalf("\nErr: %v", err)
}
if err := os.Chmod(filePath, os.ModePerm); err != nil {
log.Fatalf("\nErr: %v", err)
}
return file, err
}
func getStructType(structReflectType reflect.Type) reflect.Type {
newInterface := reflect.New(structReflectType).Interface()
interfaceValue := reflect.ValueOf(newInterface)
reflectValue := reflect.Indirect(interfaceValue)
reflectType := reflectValue.Type()
return reflectType
}