예제로 살펴보는 Go : Random number 

Go의 math/rand패키지로 의사난수(pseudorandom number)를 만들 수 있다.rand.Intn(n)은 0 <= n < 100 사이의 interger형 난수를 반환한다. rand.Float64는 0.0 <= f < 1.0 사이의 float형 난수를 반환한다. 난수의 범위를 변경하려면 사칙연산을 적절하게 사용해야 한다. 예제 코드의 경우 5....

예제로 살펴보는 Go : Time formatting 와 Parsing 

애플리케이션에서는 다양한 방식으로 시간정보를 출력하기 마련이다. Go의 time 패키지는 패턴을 파싱해서 시간을 출력하는 기능을 제공한다.RFC3339에서 정의하는 형식으로 출력했다. 시간 표기에 대한 국제 표준은 ISO8601 인데, RFC3339는 인터넷상에서 어떻게 다룰지를 규약하고 있다. ISO8601과 거의 비슷하다. time.Parse()메서드를...

예제로 살펴보는 Go : Epoch 

시스템 프로그램을 개발하다보면 Unix epoch로 부터 시작되는 seconds, miliseconds, nanoseconds 등을 계산해야 될 때가 있다. Go를 이용해서 이들 값을 가져오는 방법을 알아보자. Now()메서드를 호출하면, 현재의 시간정보를 담은 time.Time구조체를 반환한다. 이 구조체에서 지원하는 Unix()와 UnixNano() 메...

예제로 살펴보는 Go : Time 

Go의 time 패키지를 이용해서 시간가져오고 측정 할 수 있다.time.Now()메서드로 현재 시간을 가져오고 time.Date()로 시간을 설정 할 수 있다. 두 메서드 모두 time.Time 구조체를 반환하며, 구조체에서 제공하는 메서드로 다양한 연산을 할 수 있다.다음 예제 ...

예제로 살펴보는 Go : JSON 

Go는 JSON 인코딩과 디코딩을 위한 메서드를 내장하고 있다. Marshal() 메서드를 이용해서 go의 데이터들을 json 으로 변환할 수 있다. 리턴 값은 바이트배열이므로 문자열로 사용하기 위해서는 변환을 해줘야 한다.integer, string, float같은 원시데이터 타입에 대한 변환도 물론 가능하지만 배열과 맵, 구조체를 변환하기 위해서 주로 ...

예제로 살펴보는 Go : 정규표현 

Go는 정규표현(regular expressions)기능을 내장하고 있다.Go에서 제공하는 regexp패키지를 이용해서 정규표현식을 이용 할 수 있다. MatchString()메서드는 정규표현에 일치하는 문자열이 있는지를 검사한다. 일치할 경우 true를 반환한다.MatchString()에서는 문자열에 대한 패턴매칭을 즉시수행 했다. 하지만 많은 경우 패턴...

예제로 살펴보는 Go : String Formatting 

fmt패키지에서 제공하는 Printf메서드를 이용해서, 형식화된 출력을 할 수 있다.fmt 패키지의 형식화된 출력에는 디버깅 목적으로 사용 할 수 있는 여러가지 출력 옵션들을 가지고 있다....

예제로 살펴보는 Go : String Functions 

Go는 문자열을 다루기 위해서 표준 라이브러리 형식의 strings 패키지를 제공한다. strings 패키지의 몇 가지 사용방법을 살펴보려 한다.자주 사용하는 fmt.Println를 대신하기 위해서 짧은 이름의 변수를 만들었다. strings 패키지가 제공하는 함수는 에서 확인 할 수 있다.다음 예제 ...

예제로 살펴보는 Go : Defer 

Defer은 코드가 종료된 뒤에 수행할 함수를 설정하기 위해서 사용한다. 자원을 정리(cleanup)하기 위한 목적으로 주로 사용한다. 다른 언어의 encure와 finally와 비슷한 일을 한다.이 프로그램은 파일을 /tmp 디렉토리에 파일을 만들고, 간단한 문자열을 쓴 다음에 닫는 일을 한다. 10번째 줄에 defer를 이용해서 closeFile() 함...

예제로 살펴보는 Go : Panic 

panic은 예상치 못한 문제가(unexpected errors) 발생 했음을 알려주기 위해서 사용한다. 보통 우아하게(gracefully)하게 처리할 수 없는 치명적인 에러에 대해서 즉시 처리 하기 위해서 사용한다.예제는 panic()함수를 이용해서, 예상치 못한 문제의 발생을 시뮬레이션했다. panic()은 에러를 평가 할 수 없을 때, 기능을 아예 중...