add: switch statement exercises

This commit is contained in:
Inanc Gumus
2018-10-27 17:57:50 +03:00
parent 1d1280d76b
commit 3c374e38dc
11 changed files with 17 additions and 11 deletions

View 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() {
}

View 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)
}
}