added helpful comments
This commit is contained in:
		
							
								
								
									
										15
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								main.go
									
									
									
									
									
								
							@@ -12,16 +12,20 @@ import (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func main() {
 | 
			
		||||
	// Set Welcome Header
 | 
			
		||||
	pterm.DefaultHeader.WithBackgroundStyle(pterm.NewStyle(pterm.BgCyan)).WithTextStyle(pterm.NewStyle(pterm.FgCyan)).Println("Welcome to Checkdigit Calculator")
 | 
			
		||||
 | 
			
		||||
	// Check what directory the commandline is on when the program is launched.
 | 
			
		||||
	directory, err := os.Getwd()
 | 
			
		||||
	Error(err)
 | 
			
		||||
 | 
			
		||||
	// Get name of file to be processed.
 | 
			
		||||
	pterm.Printf(pterm.Cyan("What is the name of the file in this directory?: "))
 | 
			
		||||
	reader := bufio.NewReader(os.Stdin)
 | 
			
		||||
	input, err := reader.ReadString('\n')
 | 
			
		||||
	Error(err)
 | 
			
		||||
 | 
			
		||||
	// Create upcs array and push all upc strings into it
 | 
			
		||||
	input = strings.TrimSpace(input)
 | 
			
		||||
	file, err := os.Open(input)
 | 
			
		||||
	Error(err)
 | 
			
		||||
@@ -36,12 +40,13 @@ func main() {
 | 
			
		||||
		fmt.Println(scanner.Err())
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Start PTerm Spinner
 | 
			
		||||
	pterm.DefaultSpinner.Start()
 | 
			
		||||
 | 
			
		||||
	Error(err)
 | 
			
		||||
 | 
			
		||||
	// Create gtins array that will eventually be returned
 | 
			
		||||
	var gtins []string
 | 
			
		||||
 | 
			
		||||
	// Using regex compile so the program stays fast
 | 
			
		||||
	regex, err := regexp.Compile("[^0-9]")
 | 
			
		||||
	Error(err)
 | 
			
		||||
 | 
			
		||||
@@ -119,23 +124,29 @@ func main() {
 | 
			
		||||
		gtins = append(gtins, upc+remainderString)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Check if answer.txt already exists and if so, delete it
 | 
			
		||||
	if _, err := os.Stat(directory + "/answer.txt"); err == nil {
 | 
			
		||||
		e := os.Remove(directory + "/answer.txt")
 | 
			
		||||
		Error(e)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Create new answer.txt
 | 
			
		||||
	answerFile, err := os.Create(directory + "/answer.txt")
 | 
			
		||||
	Error(err)
 | 
			
		||||
 | 
			
		||||
	defer answerFile.Close()
 | 
			
		||||
 | 
			
		||||
	// Fill the answers.txt file
 | 
			
		||||
	for _, gtin := range gtins {
 | 
			
		||||
		_, err := answerFile.WriteString(gtin + "\n")
 | 
			
		||||
		Error(err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Stop the Spinner
 | 
			
		||||
	pterm.DefaultSpinner.Stop()
 | 
			
		||||
 | 
			
		||||
	// Print Success message and exit
 | 
			
		||||
	pterm.Printf("\n")
 | 
			
		||||
	pterm.Success.Println("The answer.txt file has been successfully generated with check digits.")
 | 
			
		||||
	os.Exit(0)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user