고랭 3

[Go] Benchmark 사용법 (How to Use Benchmarks)

개요Benchmark의 사용법  1. 기본 사용법func BenchmarkXxx(*testing.B) 의 형태를 가지고 있으면 벤치마크로 간주되며-bench 의 플러그가 있으면 go test 의 명령에 의해서 실행된다  샘플코드package main...func BenchmarkDeepCopyManual(b *testing.B) { original := Student{ Name: "Alice", Age: 21, Hobbies: []string{"Reading", "Cycling", "Swimming"}, Address: Address{ City: "San Francisco", State: "CA", }, } for i := 0; i 와 같이 작성해 xxx_test.go 의 ..

[Go] 2024.06.25

[Go] 제네릭 사용 예 (Example of using generics)

개요go 1.18에서 추가 된 제네릭의 사용 예   1. 함수에서의 사용package mainimport "fmt"func Filter[T any](list []T, predicate func(T) bool) []T { var result []T for _, v := range list { if predicate(v) { result = append(result, v) } } return result}func main() { // 짝수만 필터 nums := []int{1, 2, 3, 4, 5, 6} evens := Filter(nums, func(n int) bool { return n%2 == 0 }) fmt.Println(evens) // [2 4 6] // 길이가 5가 넘는 문자열만 필터..

[Go] 2024.06.23

[Go] 고랭에서의 예외처리 (exception handling in golang)

개요 예외 처리:많은 언어에서 예외는 프로그램 실행 중에 발생하는 비정상적인 상황을 처리하기 위한 메커니즘예외는 try-catch 블록을 사용하여 처리  패닉 처리:Go 언어에서는 패닉은 프로그램이 정상적으로 계속 실행될 수 없는 심각한 오류가 발생했을 때 사용패닉이 발생하면 현재 고루틴은 즉시 중단되고, defer로 등록된 함수들이 호출된 후 프로그램이 종료recover를 사용하여 패닉을 복구할 수 있지만, 일반적인 오류 처리 메커니즘으로 사용되지는 않음   1. panic이 발생하는 프로그램package mainimport "fmt"func main() { fmt.Println("Start!!") divide(10, 0) fmt.Println("End")}func divide(x, y..

[Go] 2024.06.22