Go에서 HTTP GET 요청에 쿼리 파라미터를 추가하여 값을 전달하는 방법을 예제로 보여드리겠습니다. 쿼리 파라미터를 사용하면 특정 요청에 대한 조건을 지정할 수 있습니다.다음 예제는 https://jsonplaceholder.typicode.com/posts 엔드포인트에 userId라는 쿼리 파라미터를 추가하여 GET 요청을 보내는 방법을 보여줍니다.예제 코드package mainimport ( "fmt" "io/ioutil" "log" "net/http" "net/url")func main() { // 기본 URL 설정 baseURL := "https://jsonplaceholder.typicode.com/posts" // 쿼리 파라미터 설정 para..
Go에서 파일을 읽고 쓰는 방법을 보여주는 예제를 작성해보겠습니다. 여기서는 os 패키지를 사용하여 파일을 읽고 쓰는 방법을 설명하겠습니다.파일 읽기 및 쓰기 예제프로젝트 구조는 다음과 같습니다:myproject/└── main.gomain.go 파일 작성main.go 파일을 생성하고 아래의 코드를 작성합니다.package mainimport ( "fmt" "io" "io/ioutil" "log" "os")func main() { // 쓰기 작업 writeFilePath := "example.txt" content := []byte("Hello, this is an example file.\nHello2, this is an example file.\n") err := ioutil.WriteFile(wr..
Go에서 채널(Channels)은 고루틴(Goroutines) 간에 데이터를 주고받을 수 있는 파이프라인을 제공합니다. 채널을 통해 고루틴은 안전하고 쉽게 통신할 수 있으며, 동기화 문제를 해결할 수 있습니다.채널의 기본 개념채널은 데이터를 보내고 받을 수 있는 타입 안전한 큐(queue)로, 두 고루틴 간의 통신을 가능하게 합니다. 채널은 chan 키워드를 사용하여 생성됩니다.채널 생성채널을 생성하는 방법은 다음과 같습니다:ch := make(chan int) // int 타입의 채널 생성채널에 데이터 보내기 및 받기채널을 통해 데이터를 보내고 받는 방법은 다음과 같습니다:데이터 보내기ch 데이터 받기value := 예제: 간단한 채널 사용package mainimport ( "fmt")func ..
Go루틴(Goroutine)은 Go 언어에서 경량 스레드를 구현한 개념으로, 동시에 많은 작업을 효율적으로 처리할 수 있게 해줍니다. Go루틴은 매우 가볍고, 수천 개의 Go루틴을 생성하고 실행하는 것이 일반적입니다.Go루틴 생성Go루틴은 go 키워드를 사용하여 생성할 수 있습니다. Go루틴은 함수나 메서드를 비동기적으로 실행합니다.예제: 간단한 Go루틴 생성package mainimport ( "fmt" "time")func say(s string) { for i := 0; i 결과 helloworldworldhellohelloworldworldhellohello위 예제에서 say 함수는 hello와 world 문자열을 5번 출력합니다. main 함수에서 go say("world")를 ..
Go에서 defer, panic, recover는 에러 처리 및 리소스 정리에 중요한 역할을 합니다. 이 세 가지를 이해하고 활용하면 더 견고하고 안정적인 코드를 작성할 수 있습니다.deferdefer 키워드는 함수가 종료되기 직전에 실행할 코드를 지정하는 데 사용됩니다. 주로 리소스 해제, 파일 닫기, 뮤텍스 해제 등의 작업에 사용됩니다. defer 문은 선언된 순서의 역순으로 실행됩니다.예제: defer 사용package mainimport ( "fmt" "os")func main() { f, err := os.Open("example.txt") if err != nil { fmt.Println(err) return } defer f.Close..
Go에서 에러 처리(Error Handling)는 매우 중요한 개념입니다. Go는 예외(Exception)를 사용하지 않고, 반환 값으로 에러를 전달하여 명시적으로 처리하는 방식을 채택하고 있습니다. 이는 코드의 가독성과 오류 처리의 명확성을 높이는 장점이 있습니다.에러 인터페이스Go 표준 라이브러리는 error 인터페이스를 제공하며, 이는 에러를 나타내기 위한 기본 타입입니다. error 인터페이스는 단 하나의 메서드를 가집니다:type error interface { Error() string}에러 생성에러는 주로 errors 패키지의 New 함수를 사용하여 생성할 수 있습니다.package mainimport ( "errors" "fmt")func main() { err := ..
Go 인터페이스는 메서드의 집합을 정의하는 타입입니다. 인터페이스를 사용하면 여러 타입이 동일한 메서드를 구현할 수 있으며, 이를 통해 다형성을 구현할 수 있습니다. 인터페이스는 Go 언어의 강력한 기능 중 하나로, 코드의 유연성과 확장성을 높여줍니다.인터페이스 정의인터페이스는 interface 키워드를 사용하여 정의합니다. 인터페이스에는 메서드의 시그니처만 정의되며, 메서드의 구현은 해당 인터페이스를 구현하는 타입에서 정의합니다.예제: 인터페이스 정의package mainimport "fmt"// Speaker 인터페이스 정의type Speaker interface { Speak() string}// Person 구조체 정의type Person struct { Name string}// Pe..
Go에서 메서드는 특정 타입에 속하는 함수를 의미합니다. 메서드는 구조체(struct)와 같은 사용자 정의 타입에 대해 동작을 정의하는 데 사용됩니다. 메서드를 사용하면 특정 타입의 인스턴스와 관련된 작업을 수행하는 함수를 정의할 수 있습니다.메서드 정의메서드를 정의할 때는 함수 선언과 유사하지만, 함수명 앞에 리시버(receiver)를 명시합니다. 리시버는 메서드가 속하는 타입의 인스턴스를 가리킵니다.값 리시버(Value Receiver)와 포인터 리시버(Pointer Receiver)메서드는 값 리시버와 포인터 리시버를 사용할 수 있습니다. 값 리시버는 리시버의 복사본을 사용하고, 포인터 리시버는 리시버의 주소를 사용하여 메서드 내부에서 리시버의 값을 변경할 수 있습니다.예제: 값 리시버를 사용하는 ..
Go 언어에서 구조체(struct)는 여러 필드를 그룹화하여 복합 데이터를 정의하는 사용자 정의 타입입니다. 구조체는 객체지향 프로그래밍의 클래스와 유사한 개념으로, 관련된 데이터와 메서드를 하나의 단위로 묶어 관리할 수 있습니다.구조체 정의구조체를 정의할 때는 struct 키워드를 사용합니다. 구조체는 하나 이상의 필드로 구성되며, 각 필드는 이름과 타입을 가집니다.type Person struct { Name string Age int}위 예제에서는 Person이라는 구조체 타입을 정의하였으며, Name과 Age라는 두 개의 필드를 가지고 있습니다.구조체 초기화구조체를 초기화하고 사용하는 방법에는 여러 가지가 있습니다.1. 필드 이름을 명시하여 초기화p := Person{ Name:..
Go 언어에서 패키지(Package)는 코드를 구조화하고 관리하기 위한 중요한 개념입니다. 패키지는 함수, 변수, 구조체 등의 코드를 논리적으로 그룹화하여 모듈화하고 재사용 가능한 단위로 제공합니다. Go 언어의 모든 코드는 패키지 내에 위치하며, 패키지를 통해 코드의 구성 및 관리가 가능합니다.패키지의 기본 구성 요소패키지 선언모든 Go 파일은 package 선언으로 시작합니다. 예를 들어, main 패키지는 Go 프로그램의 실행 진입점을 나타내며 반드시 main 패키지로 선언되어야 합니다.package main일반적으로 다른 패키지의 코드를 사용할 때는 해당 패키지의 이름을 지정해야 합니다. 예를 들어, fmt 패키지를 사용할 때:import "fmt"패키지 내의 함수와 변수package mypack..
- Total
- Today
- Yesterday
- mybatis
- cache
- REST
- java
- 메시지
- springboot
- listToMap
- example
- 예제
- lombok
- thymeleaf
- 샘플
- SHEETJS
- 엑셀
- restful서비스
- 타임리프
- ag grid
- 스프링부트
- 스프링
- mapToList
- Spring Boot
- spring
- 설정
- RESTful
- UI
- AG-GRID
- sample
- 그리드
- Javascript
- oracle
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |