Golang Time 패키지 Time struct type Time struct { wall uint64 ext int64 loc *Location } Time 생성 방법 time.now() time.Date(year int, month Month...) time.Unix(sec int64, nsec int64) Time Test func TestTime(t *testing.T) { now := time.Now() t.Log(now) // 2022-08-02 11:14:48.8866312 +0900 KST m=+0.002534901 nowFormat := time.Now().Format("2006-01-02 15:04:05") t.Log(nowFormat) // 2022-08-02 11:17:33 (ht..
Factory Pattern 운송업체별로 물리 프린터기 출력용지나 출력물 등 달라지는데 여기서는 물리 프린터기에서 출력을 위한 데이터를 팩토리 패턴으로 구현 하였다. PrineterMethod Interface 구현 EMSPrinter, SFPrinter struct 구현 → GetOuput() 구현 Create() 를 통해서 new() 로 사용할 Prineter를 Create and Return Return Struct의 GetOuput() 메소드를 통해 결과값 Return factory.go package factory import ( "errors" "fmt" ) const ( EMS_CODE = "EMS" SF_CODE = "SF" ) type PrinterMethod interface { Get..
func main() { var num1 int = 10 var num2 float32 = 3.2 var num3 complex64 = 2.5 + 8.1i var s string = "Hello, world!" var b bool = true var a []int = []int{1, 2, 3} var m map[string]int = map[string]int{"Hello": 1} var p *int = new(int) type Data struct{ a, b int } var data Data = Data{1, 2} var i interface{} = 1 fmt.Printf("정수: %d\n", num1) // 정수: 10 fmt.Printf("실수: %f\n", num2) // 실수: 3.2 fmt...
Go lang으로 대용량 파일 chunk 단위로 나누기 Go lang으로 대용량 파일에 대해서 chunk 단위로 나누어 보자. 나누기 위해서 우선 대용량 파일을 생성한 후 나누기를 진행 할 것이다. 대용량 파일 생성 파일 나누기 1. 대용량 파일 생성 package main import ( "fmt" "math" "os" "runtime" "strconv" "time" ) const MAX_CONCURRENT_JOB = 10 const NUMBER_OF_UNORDERED = 100000000 const BIG_DATA_ROOT = "data" const BIG_DATA_FILE_PATH = "data/big_data.txt" const FILE_CHUNK_SIZE = 10 * (1
Go Go 소개 2007년 구글에서 개발을 시작하여 2012년 GO 버젼 1.0을 완성. (현재 1.17 까지 realase) 디자인은 로버트 그리즈머, 롭 파이크, 케네스 톰슨 (대학교 전공 서적에 나오는 사람, C언어 만든 사람) 이 진행 Using at Use cases https://go.dev/solutions/#case-studies 특징 컴파일 언어 정적 타이핑 언어 함수형 언어 빠른 속도 일차적 개발 목적은 시스템 프로그래밍 직접 개발하면서 느낀 장점과 단점 장점 Go 는 문법이 매우 간단하고 배우기 쉽다 문법은 C++, Java, Python 장단점 섞어 놓은 느낌 동시성 기능 구현 쉬움 배포 Architecture 관점에서 진짜 진짜 쉬운 배포 모든 Go 프로젝트는 누가 개발하든 모두 ..