Go

·Go
계기multipart/form-data 전송, 수신 글을 쓰다가  mime/multipart: CreateFormFile에서 파일 파트를 만들 때, Content-Type이 기본적으로 "application/octet-stream"으로 되어있는 걸 발견하게 되었다. image/jpeg, image/png등 타입을 감지해서 변경해 넣어주면 좋겠다고 생각했다. 이유가 있을지도 모르겠지만,이 부분이 조금 의아하고 변경되었으면 좋겠다는 생각이 들어 직접 컨트리뷰트 해보기로 했다.  컨트리뷰트 방법을 찾아서 Go언어에 컨트리뷰트 하는 방법은 공식 홈페이지에 잘 작성되어 있다.   Contribution Guide - The Go Programming LanguageDocumentation Contribution ..
·Go
완성 코드는 맨 아래에 있습니다. multipart/form-datamultipart/form-data가 무엇인지는 여기에 잘 소개되어 있습니다(혹은 RFC7578) HTTP multipart/form-data 이해하기Understanding about HTTP multipart/form-datalena-chamna.netlify.app  쉽게 말하자면 multipart/form-data는 여러 파트를 boundary로 구분하여 한 번에 전송하는 HTTP요청의 한 방식입니다.이 방식은 여러 종류의 content type을 함께 전송할 때 유용합니다. (username, image를 같이 전송하는 등) 각 파트는 헤더와 데이터를 가집니다.POST /upload HTTP/1.1Content-Type: mul..
·Go
만든 기능을 설명할 때 Testable Examples를 사용하여 예시를 들고 테스트를 할 수 있다. 일반 테스트와 마찬가지로 파일명은 _test로 끝나야 한다. 또한 함수는 Example로 시작한다. 정수 두 개를 더하는 함수를 만들었다고 하자.// in add.gopackage gotestfunc Add(a, b int) int { return a + b} // in add_test.gopackage gotestimport "fmt"func ExampleAdd() { for i := 1; i  출력될 것으로 예상하는 값을  // output: 아래 주석으로 적어주면 된다.// output: 을 무조건 적어주어야 한다. 대소문자는 상관없다// output: 이 없다면 테스트로 인식하지 못한다.  결과~..
·Go
빈 구조체 struct{}struct{} 는 필드가 없는 빈 구조체 타입을 정의한다.struct{}{} 란 아무것도 정의되어있지 않은 struct를 생성하는 것이다. 일반 구조체를 만드는 것과 비교해 보면 알기 쉽다.package mainimport ( "fmt")func main() { person := struct { Name string Age int }{"peter", 10} emptystruct := struct{}{} fmt.Println(person) fmt.Println(emptystruct) // {peter 10} // {}}  빈 구조체는 필드가 없기 때문에 메모리 효율이 좋고, 다양한 상황에서 유용하게 사용할 수 있다. struct{} 는 보통 세 가지 방법으로 사용한다..
munhwas1140
'Go' 카테고리의 글 목록