Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions bundle-server/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,29 @@ func main() {
http.ServeFile(w, r, r.URL.Path[1:])
})

printPrimeNumbers(5,19)
// start HTTP server with `http.DefaultServeMux` handler
Comment on lines +23 to 24

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The printPrimeNumbers function is called directly in the main function. It would be better to move this call to a separate function or an HTTP handler to improve modularity and maintainability.

Suggested change
printPrimeNumbers(5,19)
// start HTTP server with `http.DefaultServeMux` handler
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
http.ServeFile(w, r, r.URL.Path[1:])
})
http.HandleFunc("/prime", primeHandler)
// start HTTP server with `http.DefaultServeMux` handler
log.Fatal(http.ListenAndServe(":9000", nil))
}
func primeHandler(w http.ResponseWriter, r *http.Request) {
printPrimeNumbers(5, 19)
}

log.Fatal(http.ListenAndServe(":9000", nil))

}

func printPrimeNumbers(num1, num2 int){
if num1<2 || num2<2{
fmt.Println("Numbers must be greater than 2 for this to work.")
return
}
for num1 <= num2 {
isPrime := true
for i:=2; i<=int(math.Sqrt(float64(num1))); i++{
if num1 % i == 0{
isPrime = false
break
}
}
if isPrime {
fmt.Printf("Found Prime number: %d ", num1)
}
num1++
}
fmt.Println()
}
Comment on lines +29 to +48

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The printPrimeNumbers function currently prints the prime numbers directly to the console. To make it more reusable, consider returning a slice of prime numbers instead of printing them. This way, the function can be used in different contexts, such as returning the prime numbers in an API response or processing them further.

Suggested change
func printPrimeNumbers(num1, num2 int){
if num1<2 || num2<2{
fmt.Println("Numbers must be greater than 2 for this to work.")
return
}
for num1 <= num2 {
isPrime := true
for i:=2; i<=int(math.Sqrt(float64(num1))); i++{
if num1 % i == 0{
isPrime = false
break
}
}
if isPrime {
fmt.Printf("Found Prime number: %d ", num1)
}
num1++
}
fmt.Println()
}
func printPrimeNumbers(num1, num2 int) []int {
if num1 < 2 || num2 < 2 {
fmt.Println("Numbers must be greater than 2 for this to work.")
return nil
}
primes := []int{}
for num1 <= num2 {
isPrime := true
for i := 2; i <= int(math.Sqrt(float64(num1))); i++ {
if num1 % i == 0 {
isPrime = false
break
}
}
if isPrime {
primes = append(primes, num1)
}
num1++
}
return primes
}