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