예제로 살펴보는 Go : URL Parsing

웹 애플리케이션을 만들다 보면 문자열을 조작해야 하는 경우가 많다. Go net/url 패키지로 URL을 조작할 수 있다.테스트에 사용 할 URL은 "postgres 스키마 url.Parse 메서드로 URL을 파싱할 수 있다. 파싱하고 나면 url.URL 구조체를 반환한다. 주요한 메서드와 값들을 정리했다. URL.Scheme URL.User URL.H...

예제로 살펴보는 Go : Number parsing

문자열을 숫자로 변환하는 것은 기본적인 작업이지만, 많은 프로그래머들이 어려워하는 작업이기도 하다. Go를 이용해서 문자열을 숫자로 바꿔보자.strconv 패키지로 문자열을 숫자로 변환할 수 있다. ParseFloat는 문자열을 float타입으로 인식해서 변환한다. ParseInt는 integer 타입으로, ParseUint는 unsigned int로 변환...

예제로 살펴보는 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 패키지가 제공하는 함수는 에서 확인 할 수 있다.다음 예제 ...