lower 1st car of line
This commit is contained in:
parent
51f746907b
commit
1aa7ac5d38
1
.gitignore
vendored
1
.gitignore
vendored
@ -29,3 +29,4 @@ w1d2ex1/w1d2ex1
|
||||
swap/swap
|
||||
w1d1ex2/w1d1ex2
|
||||
go-cat2/go-cat2
|
||||
lower-1line/lower-1line
|
||||
|
46
lower-1line/main.go
Normal file
46
lower-1line/main.go
Normal file
@ -0,0 +1,46 @@
|
||||
package main
|
||||
|
||||
import "bufio"
|
||||
import "io"
|
||||
import "log"
|
||||
import "os"
|
||||
import "strings"
|
||||
|
||||
func transform(in io.Reader, out io.Writer) {
|
||||
bufw := bufio.NewWriter(out)
|
||||
s := bufio.NewScanner(in)
|
||||
for s.Scan() {
|
||||
line := s.Text()
|
||||
for i, c := range line {
|
||||
if i == 0 {
|
||||
bufw.WriteString(strings.ToLower(string(c)))
|
||||
} else {
|
||||
bufw.WriteString(string(c))
|
||||
}
|
||||
}
|
||||
bufw.WriteString("\n")
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
if len(os.Args) < 2 {
|
||||
log.Fatalln("Usage upper-line <file>")
|
||||
}
|
||||
f, err := os.Open(os.Args[1])
|
||||
if err != nil {
|
||||
log.Fatalln("Error opening file", err)
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
var w io.Writer
|
||||
if len(os.Args) >= 3 {
|
||||
w, err = os.Create(os.Args[2])
|
||||
if err != nil {
|
||||
log.Fatalln("Error creating file", err)
|
||||
}
|
||||
} else {
|
||||
w = os.Stdout
|
||||
}
|
||||
|
||||
transform(f, w)
|
||||
}
|
Loading…
Reference in New Issue
Block a user