Files
bootdotdev-fcc-learn-golang…/course/11-pointers/exercises/4-nil_dereference/complete.go
wagslane 9be3074de6 first
2023-05-01 15:25:27 -06:00

54 lines
896 B
Go

package main
import (
"fmt"
"strings"
)
func removeProfanity(message *string) {
if message == nil {
return
}
messageVal := *message
messageVal = strings.ReplaceAll(messageVal, "dang", "****")
messageVal = strings.ReplaceAll(messageVal, "shoot", "*****")
messageVal = strings.ReplaceAll(messageVal, "heck", "****")
*message = messageVal
}
// don't touch below this line
func test(messages []string) {
for _, message := range messages {
if message == "" {
removeProfanity(nil)
fmt.Println("nil message detected")
} else {
removeProfanity(&message)
fmt.Println(message)
}
}
}
func main() {
messages := []string{
"well shoot, this is awful",
"",
"dang robots",
"dang them to heck",
"",
}
messages2 := []string{
"well shoot",
"",
"Allan is going straight to heck",
"dang... that's a tough break",
"",
}
test(messages)
test(messages2)
}