diff --git a/ex01/go/go.mod b/ex01/go/go.mod new file mode 100644 index 0000000..5a066e4 --- /dev/null +++ b/ex01/go/go.mod @@ -0,0 +1,5 @@ +module github.com/xiote/Exercises-for-Programmers + +go 1.14 + +require github.com/stretchr/testify v1.6.1 diff --git a/ex01/go/xiote.go b/ex01/go/xiote.go new file mode 100644 index 0000000..e4b5ede --- /dev/null +++ b/ex01/go/xiote.go @@ -0,0 +1,34 @@ +// 작성자 : 한진우 +// 실행방법 : go run xiote.go +// 주의사항 : + +package main + +import ( + "bufio" + "fmt" + "os" +) + +func main() { + fmt.Print("What is your name? ") + scanner := bufio.NewScanner(os.Stdin) + for scanner.Scan() { + person := scanner.Text() + hello := NewHello(person) + fmt.Println(hello.Message()) + return + } +} + +func NewHello(person string) Hello { + return Hello{person} +} + +type Hello struct { + Person string +} + +func (h *Hello) Message() string { + return fmt.Sprintf("Hello, %s, nice to meet you!", h.Person) +} diff --git a/ex01/go/xiote_test.go b/ex01/go/xiote_test.go new file mode 100644 index 0000000..3eb057e --- /dev/null +++ b/ex01/go/xiote_test.go @@ -0,0 +1,20 @@ +package main + +import ( + "github.com/stretchr/testify/assert" + "testing" +) + +func TestSample(t *testing.T) { + assert := assert.New(t) + + assert.Equal(1, 1) +} + +func TestHelloMessage(t *testing.T) { + assert := assert.New(t) + + hello := NewHello("Brian") + message := hello.Message() + assert.Equal(message, "Hello, Brian, nice to meet you!") +}