Go 개발자 로드맵의 첫 번째 챕터, Go CLI 프로그램을 만드는 방법입니다. CLI란 Command Line Interface의 약자로, 터미널을 통해 컴퓨터와 상호작용하는 방식을 말합니다.Go CLI 프로그램을 만드는 여러 패키지가 있습니다.cobragcligo-flagskingpingoptionsGo의 내장 패키지인 flags가 있지만 cobra를 사용하면 더욱 빠르고 쉽게 CLI 프로그램을 개발할 수 있습니다.설치다음과 같이 go get을 사용하여 cobra를 설치할 수 있습니다. -u는 최신 버전을 설치하는 플래그입니다.go get -u github.com/spf13/cobra또한 다음 명령어로 Code Generator를 설치하여 cobra를 쉽게 적용할 수 있습니다.go get -u git..
1. 구조체 구조체는 필드들의 집합이며, Go에서 Custom Data Type을 표현하는데 사용된다. Go는 객체 지향 프로그래밍(Object Oriented Programming, OOP) 언어가 가지는 클래스, 객체, 상속이 없지만, 구조체로 클래스와 같은 Custom Type을 정의할 수 있다. 하지만, OOP의 클래스는 기본 메서드를 갖지만 Go의 구조체는 기본 메서드를 가지지 않는다. 2. 사용법 예를 들어, 사람은 이름과 나이를 가질 수 있다. 여기서 사람이 구조체가 되고 이름, 나이는 필드가 되는 것이다. 그리고 Go에서 구조체의 이름과 필드 이름의 첫 글자를 대문자로 하면 다른 패키지에서도 사용할 수 있다. // 구조체 type person struct { // 필드 name string..
문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다.(0 < A, B < 10) 출력 첫째 줄에 A+B를 출력한다. 예제 입력1 1 2 예제 출력1 3 풀이 package main import "fmt" func main() { var a, b int fmt.Scan(&a, &b) fmt.Print(a+b) } 해설 Go 언어의 fmt 패키지를 사용하여 입력과 출력을 하였다. fmt 패키지의 Scan 함수에 입력받을 변수 a와 b를 포인터 형태로 넣어주어야 한다. 그리고 Print 함수를 사용하여 a와 b를 더한 값을 출력해주었다.
문제 아래 예제와 같이 개를 출력하시오. 입력 없음. 출력 개를 출력한다. 예제 입력1 예제 출력1 |\_/| |q p| /} ( 0 )""" \ |"^"` | ||_/=\\__| 풀이 package main import "fmt" func main() { // 한 줄 fmt.Print("|\\_/|\n|q p| /}\n( 0 )\"\"\"\\\n|\"^\"` |\n||_/=\\\\__|") // 여러 줄 fmt.Println("|\\_/|") fmt.Println("|q p| /}") fmt.Println("( 0 )\"\"\"\\") fmt.Println("|\"^\"` |") fmt.Print("||_/=\\\\__|") } 해설 Go 언어의 fmt 패키지를 사용하여 출력하였다. 출력되지 않는 특수..
문제 아래 예제와 같이 고양이를 출력하시오. 입력 없음. 출력 고양이를 출력한다. 예제 입력1 예제 출력1 \ / \ ) ( ') ( / ) \(__)| 풀이 package main import "fmt" func main() { // 한 줄 fmt.Print("\\ /\\\n ) ( ')\n( / )\n \\(__)|") // 여러 줄 fmt.Println("\\ /\\") fmt.Println(" ) ( ')") fmt.Println("( / )") fmt.Print(" \\(__)|") } 해설 Go 언어의 fmt 패키지를 사용하여 출력하였다. 출력되지 않는 특수 문자에 유의하여 작성해야 한다.
문제 ACM-ICPC 인터넷 예선, Regional, 그리고 World Finals까지 이미 2회씩 진출해버린 kriii는 미련을 버리지 못하고 왠지 모르게 올 해에도 파주 World Finals 준비 캠프에 참여했다. 대회를 뜰 줄 모르는 지박령 kriii를 위해서 격려의 문구를 출력해주자. 입력 본 문제는 입력이 없다. 출력 두 줄에 걸쳐 "강한친구 대한육군"을 한 줄에 한 번씩 출력한다. 예제 입력1 예제 출력1 강한친구 대한육군 강한친구 대한육군 풀이 package main import "fmt" func main() { fmt.Print("강한친구 대한육군\n") fmt.Print("강한친구 대한육군") } 해설 Go 언어의 fmt 패캐지를 사용하여 출력하였다.