golang 7

[Go] 성적 저장 프로그램 예제 정답 코드

구름 edu의 "바로 실행해보면서 배우는 Go Lang"강의를 수강하면서 Go언어에 대해서 시간이 날 때마다 공부를 하고 있다. (이제는 취미가 코딩이다!) 강의 중간에 배운 내용을 기반으로 예제를 풀어야 다음 단계로 넘어갈 수 있는데, 난이도가 점점 올라갈 수록 예제 문제도 시간이 좀 걸리는 것 같다. (처음 배우는 사람 기준이다!) 혹시나 빠르게 강의만 듣고 싶어하는 사람이 있을 수도 있다고 생각하여 예제 정답 코드를 블로그에 올려두려고 한다. 혹시 강의의 저작권에 문제가 생긴다면 바로 글을 삭제하겠다!! - 성적 관리 프로그램 정답 코드 package main import "fmt" type student struct { name string gender string score map[string]..

[Go] 10. Go(golang)의 익명 함수(Anonymous function)

이전 공부에서 golang의 함수에 대해서 정리를 했었다. 오늘 정리할 내용은 익명 함수에 관한 내용이다. 파이썬에서 Lambda와 비슷한 맥락이라고 봐도 될 것 같다. Go에서 익명 함수란? 익명 함수는 말 그대로 이름이 없는 함수이다. 함수는 하나의 큰 프로그램을 여러 부분으로 나누고, 여러 상황에서 여러 차례 호출할 수 있으며 일부분을 수정하기 쉽다는 장점을 가진다. 그렇다면 익명함수는 어떤 녀석이고 어떻게 호출할까? 익명함수는 그 자리에서 만들고 바로 그 자리에서 실행할 수 있다는 장점이 있다. 사실 익명 함수의 쓰임새는 말로 설명하는 것보다 직접 상황이 돼봐야 이해할 수 있을 것이다. (링크 - 실제로 내가 파이썬에서 익명 함수를 사용했던 경우이다.) Go에서 익명 함수의 형태는 함수의 이름만 ..

[Go] 4. Go(golang)의 자료형과 변수 선언

프로그래밍을 위해서 입, 출력만큼 중요한 "변수"라는 개념이 있다. 변수란 입력된 데이터들을 처리하여 결과를 출력하는 과정에서 입력된 데이터들을 저장하거나, 계산 결과를 저장하기 위해 이름이 할당된 메모리 공간이다. 모든 컴퓨터 언어에서는 자료형 마다 할당되는 메모리 공간의 크기가 다르다. 오늘은 Go의 자료형과 변수에 대해서 정리를 해보려고 한다. 변수의 선언 방법 가장 기본적인 자료형인 "int"를 기준으로 정리했다. package main import "fmt" func main() { var num int num = 3 fmt.Printf("현재 num의 값은 %d 입니다.\n", num) } Go의 변수 선언 방법 중 가장 기본적인 방법이다. C언어와 다른점은 사람이 코드를 읽을 때 조금 더 익..

[Go] 3. Go(Golang)의 입력 함수 (scan)

프로그래밍 언어 공부의 두 번째 단계는 입력이다. 적어도 입력, 출력만 할 줄 알아도 "그대로 출력하기"와 같은 알고리즘 문제는 풀 수 있다! (사실 EOF처리를 하는 방법도 배워야 할 것이다!) 앞서 공부했던 "fmt" 패키지에서 제공하는 입력 함수 세 가지에 대해 공부해보자. Scanf 함수 C언어의 scanf 함수와 매우 비슷해서 처음 함수를 사용할 때도 익숙하게 사용할 수 있었다. format 지정자를 통해 정해진 형식의 입력을 받을 수 있게 해주는 함수이다. 간단하게 예제만 보고 넘어가도 괜찮을 것 같다. 예제 코드) package main import "fmt" func main() { var age int var name string fmt.Print("이름과 나이를 띄어쓰기로 구분하여 입력..

[Go] 2. Go(Golang)의 출력 함수 (print)

Go언어의 출력 함수에 대해서 알아보기 전에 먼저 "fmt"에 대해 알고 있어야 한다. 이전 글에도 다음과 같은 코드를 계속 사용했다. import "fmt" 이 패키지는 Go언어에서 C언어의 printf 함수나 Python의 print 함수, Java의 println 함수와 같은 여러 가지 출력 함수를 사용할 수 있게 해주는 패키지이다. (출력뿐만 아니라 여러 가지 입력 함수 도 사용 가능하다.) 깃허브나 많은 블로그들의 Go언어 코드를 살펴보면 대부분 필수적으로 improt하는 패키지이다. Go언어의 출력 함수 종류 "fmt"패키지를 통해 , Print, Println, Printf 함수를 호출할 수 있다. 호출 형식은 다음과 같다. import "fmt" fmt.Print("Hello world!"..

[Go] 1. Go Language(Golang)에 대하여

Go는 최근에 많이 언급되고 있는 프로그래밍 언어 중 한 종류이다. 사실 Go는 만들어진지는 10년이 조금 넘은 프로그래밍 언어라고 한다. 남들보다 늦게 Go를 알게 된 것이 후회가 된다... 내가 공부한 Go란? Go의 개발방향은 "간단하고 간결한 직관적인 언어" + "이해하기 쉬운 코드" 라고한다. 예시 코드와 함께 어떤 느낌인지 느껴보자. package main import "fmt" func main() { var dan int fmt.Scanln(&dan) for i:= 1;i

[Go] Go(Golang) 윈도우 개발 환경 구축하기

취업준비를 하면서 가볍게 배울 언어를 고민하다가 Go 언어를 선택하게 되었다. (Rust는 살짝 훑어만 봐도 시간이 오래 거릴 것 같았다.) 모든 컴퓨터 언어의 시작은 역시 개발 환경 구축이라고 생각한다. 나는 Go SDK for window + Vs code를 선택했다. 윈도우를 사용한다면, 아마 가장 빠르게 구축할 수 있는 개발 환경일 것이다. 1. Go SDK 설치 Go SDK(Software Development Kit)는 ". go" 파일을 컴파일하거나 빌드 하기 위해서 꼭 필요하다. 설치방법은 간단하다. 여기에 들어가서 아래에 표시된 버튼을 클릭하면 다운로드가 시작된다. 설치 도중에 경로를 설정하는 과정이 있다. 원하는 곳에 설치해도 상관 없지만 자신이 설정한 경로는 꼭 기억해둬야 한다. 설치..