golang(14)
-
golang factory
golang factory? [ 호출부]json.NewDecoder(reader).Decode(&msg) [Decode]func (dec *Decoder) Decode(v interface{}) error { if dec.err != nil { return dec.err } if err := dec.tokenPrepareForDecode(); err != nil { return err } if !dec.tokenValueAllowed() { return &SyntaxError{msg: "not at beginning of value"} } // Read whole value into buffer. n, err := dec.readValue() if err != nil { return err } dec.d..
2018.02.13 -
golang - Package json
import "encoding/json"json 패키지는 RFC 4627에 정의 된 JSON의 인코딩 및 디코딩을 구현합니다. JSON 및 Go 값 간의 매핑은 marshal 및 unmarshal 함수에 대한 설명서에 설명되어 있습니다.func Marshal(v interface{}) ([]byte, error)Marshal은 v의 JSON 인코딩을 반환합니다. Marshal은 값 v를 재귀적으로 호출한다. 발생한 값이 Marshal 인터페이스를 구현하고 nil 포인터가 아닌 경우 MarshalJSON 메서드를 호출하여 JSON을 생성합니다. MarshalJSON 메서드가 없지만 값이 encoding.TextMarshaler를 대신 구현하면 Marshal은 해당 MarshalText 메서드를 호출하고 결..
2018.02.09 -
valid 시 non zero value required 오류
func checkRequired(v reflect.Value, t reflect.StructField, options tagOptionsMap) (bool, error) { if requiredOption, isRequired := options["required"]; isRequired { if len(requiredOption) > 0 { return false, Error{t.Name, fmt.Errorf(requiredOption), true} } return false, Error{t.Name, fmt.Errorf("non zero value required"), false} } else if _, isOptional := options["optional"]; fieldsRequiredByDe..
2018.02.02 -
Review
java 말고 golanginput / output은 동일하게 / export되지 않는 함수면 소문자로 SetValue (X) setValue(O)acet.EntityInfo = setValue(acet.EntityInfo)interface conversionswitch문을 사용할 수 있다. 해당 case의 타입이 들어오면 맞는 case 구문을 타게 된다.ex) Body가 인터페이스 형태 switch acet.Body.(type) {case *xxx.xxxx:case *aaa.xxxx:default : }
2017.10.24 -
golang Context란?
https://golang.org/pkg/context/ or https://godoc.org/golang.org/x/net/contextPackage context는 마감 시간, 취소 신호 및 기타 요청 범위 값을 API 경계와 프로세스간에 전달하는 컨텍스트 유형을 정의합니다.서버에 들어오는 요청은 컨텍스트를 만들어야하며 서버로 나가는 호출은 컨텍스트를 받아 들여야합니다. 이들 사이의 함수 호출 체인은 컨텍스트를 전파해야하며 선택적으로 WithCancel, WithDeadline, WithTimeout 또는 WithValue를 사용하여 생성 된 파생 된 컨텍스트로 대체해야합니다. 컨텍스트가 취소되면 그 컨텍스트도 파생됩니다. 작성 중~
2017.09.07 -
go lang - Map
go는 변수명 다음에 자료형이 온다. ex) var acet string java는 반대이다. ex) String acet; Map go var 맵명 map[키 자료형]값 자료형 ex) var acet map[string]int 할당은 make 사용! 예제는 아래에 있음. java는 HashMap acet = new HashMap 코드를 보자! 아래의 사이트에서 바로 테스트 해보면 된다. https://tour.golang.org/moretypes/19 package main import "fmt" func main() { // 자바에서는 new가 있다면 go에서는 make로 map을 할당한다. var acet map[string]string = make(map[string]string) acet = m..
2017.07.05