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..
- Total
- Today
- Yesterday
- 그리드
- listToMap
- sample
- restful서비스
- 스프링
- 타임리프
- mybatis
- springboot
- example
- SHEETJS
- Spring Boot
- UI
- oracle
- 설정
- spring
- thymeleaf
- 메시지
- mapToList
- java
- REST
- RESTful
- AG-GRID
- 스프링부트
- Javascript
- ag grid
- 엑셀
- lombok
- 예제
- cache
- 샘플
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |