Filling in Date
implementation
This commit is contained in:
parent
b7480b78a8
commit
209e074503
@ -7,7 +7,8 @@ TARGETS := \
|
|||||||
$(REPO_BASE)/algs4-rolls \
|
$(REPO_BASE)/algs4-rolls \
|
||||||
$(REPO_BASE)/algs4-randomseq \
|
$(REPO_BASE)/algs4-randomseq \
|
||||||
$(REPO_BASE)/algs4-average \
|
$(REPO_BASE)/algs4-average \
|
||||||
$(REPO_BASE)/algs4-interval2d
|
$(REPO_BASE)/algs4-interval2d \
|
||||||
|
$(REPO_BASE)/algs4-date
|
||||||
|
|
||||||
test: build
|
test: build
|
||||||
go test -x $(TARGETS)
|
go test -x $(TARGETS)
|
||||||
|
39
algs4/src/go/algs4-date/main.go
Normal file
39
algs4/src/go/algs4-date/main.go
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"strconv"
|
||||||
|
|
||||||
|
"github.com/meatballhat/box-o-sand/algs4/src/go/algs4"
|
||||||
|
)
|
||||||
|
|
||||||
|
func die(err error) {
|
||||||
|
fmt.Fprintf(os.Stderr, "ERROR: %v\n", err)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
if len(os.Args) < 4 {
|
||||||
|
die(errors.New("We need 3 ints!"))
|
||||||
|
}
|
||||||
|
|
||||||
|
m, err := strconv.Atoi(os.Args[1])
|
||||||
|
if err != nil {
|
||||||
|
die(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
d, err := strconv.Atoi(os.Args[2])
|
||||||
|
if err != nil {
|
||||||
|
die(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
y, err := strconv.Atoi(os.Args[3])
|
||||||
|
if err != nil {
|
||||||
|
die(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
date := algs4.NewDate(m, d, y)
|
||||||
|
fmt.Println(date)
|
||||||
|
}
|
23
algs4/src/go/algs4/date.go
Normal file
23
algs4/src/go/algs4/date.go
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
package algs4
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Date struct {
|
||||||
|
Month int
|
||||||
|
Day int
|
||||||
|
Year int
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewDate(m, d, y int) *Date {
|
||||||
|
return &Date{
|
||||||
|
Month: m,
|
||||||
|
Day: d,
|
||||||
|
Year: y,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (me *Date) String() string {
|
||||||
|
return fmt.Sprintf("%d/%d/%d", me.Month, me.Day, me.Year)
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user