add: switch statement exercises
This commit is contained in:
47
12-switch/exercises/04-string-manipulator/main.go
Normal file
47
12-switch/exercises/04-string-manipulator/main.go
Normal file
@ -0,0 +1,47 @@
|
||||
// For more tutorials: https://blog.learngoprogramming.com
|
||||
//
|
||||
// Copyright © 2018 Inanc Gumus
|
||||
// Learn Go Programming Course
|
||||
// License: https://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
//
|
||||
|
||||
package main
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// STORY
|
||||
// You want to write a program that will manipulate the
|
||||
// given strings to uppercase, lowercase, and title case.
|
||||
//
|
||||
// EXERCISE: String Manipulator
|
||||
//
|
||||
// 1. Get the operation as the first argument.
|
||||
//
|
||||
// 2. Get the string to be manipulated as the 2nd argument.
|
||||
//
|
||||
// HINT
|
||||
// You can find the manipulation functions in the strings
|
||||
// package Go documentation (ToLower, ToUpper, Title).
|
||||
//
|
||||
// EXPECTED OUTPUT
|
||||
//
|
||||
// go run main.go
|
||||
// [command] [string]
|
||||
//
|
||||
// Available commands: lower, upper and title
|
||||
//
|
||||
// go run main.go lower 'OMG!'
|
||||
// omg!
|
||||
//
|
||||
// go run main.go upper 'omg!'
|
||||
// OMG!
|
||||
//
|
||||
// go run main.go title "mr. charles darwin"
|
||||
// Mr. Charles Darwin
|
||||
//
|
||||
// go run main.go genius "mr. charles darwin"
|
||||
// Unknown command: "genius"
|
||||
// ---------------------------------------------------------
|
||||
|
||||
func main() {
|
||||
|
||||
}
|
38
12-switch/exercises/04-string-manipulator/solution/main.go
Normal file
38
12-switch/exercises/04-string-manipulator/solution/main.go
Normal file
@ -0,0 +1,38 @@
|
||||
// For more tutorials: https://blog.learngoprogramming.com
|
||||
//
|
||||
// Copyright © 2018 Inanc Gumus
|
||||
// Learn Go Programming Course
|
||||
// License: https://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
//
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
const usage = `[command] [string]
|
||||
|
||||
Available commands: lower, upper and title`
|
||||
|
||||
func main() {
|
||||
args := os.Args
|
||||
if len(args) != 3 {
|
||||
fmt.Println(usage)
|
||||
return
|
||||
}
|
||||
|
||||
cmd, str := args[1], args[2]
|
||||
switch cmd {
|
||||
case "lower":
|
||||
fmt.Println(strings.ToLower(str))
|
||||
case "upper":
|
||||
fmt.Println(strings.ToUpper(str))
|
||||
case "title":
|
||||
fmt.Println(strings.Title(str))
|
||||
default:
|
||||
fmt.Printf("Unknown command: %q\n", cmd)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user