상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
7월 해외여행: 매일이 즐거운 9가지 경험
뉴욕의 특색 있는 주택 지역, 반드시 가봐야 할 이유 8가지
오사카의 추억을 간직할 수 있는 장소, 5가지 이유
후쿠오카의 워터파크: 7가지 이유로 여름 필수 방문지!
부산에서 꼭 맛봐야 할 음식 9가지
부산의 특별한 숙소, 6곳 추천!
부산에서의 특별한 체험, 10가지 이유
부산의 축제와 행사, 놓칠 수 없는 10가지!
토마토, 피부 미용에 효과적인 9가지 숨겨진 사실!
주의! 당신이 놓치고 있는 토마토의 6가지 장점
당근을 먹어야 하는 7가지 놀라운 이유
당근, 언젠간 먹어봐야 할 이유 4가지
Previous
Next
수정하기 - Go 언어의 내장 함수는 어떤 것들이 있나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
Go 언어는 다양한 내장 함수를 제공하여 개발자가 자주 사용하는 기능을 쉽게 구현할 수 있도록 돕습니다. 이러한 내장 함수는 Go의 표준 라이브러리와 함께 제공되며, 기본적인 데이터 타입, 문자열 처리, 수학적 계산, <a href='https://sangseek.com/sangseeks/타입 변환/ko'>타입 변환</a> 등 여러 가지 작업을 수행할 수 있습니다. 아래에서는 Go 언어의 주요 내장 함수에 대해 자세히 설명하겠습니다. 1. `len()` `len()` 함수는 배열, 슬라이스, 맵, 문자열 등의 길이를 반환합니다. 예를 들어, 문자열의 길이를 알고 싶을 때 유용합니다. ```go s := "Hello, World!" fmt.Println(len(s)) // 출력: 13 ``` 2. `cap()` `cap()` 함수는 슬라이스, 배열, 채널의 용량을 반환합니다. 슬라이스의 경우, 현재 할당된 메모리의 크기를 알 수 있습니다. ```go s := make([]int, 5, 10) fmt.Println(cap(s)) // 출력: 10 ``` 3. `append()` `append()` 함수는 슬라이스에 요소를 추가하는 데 사용됩니다. 이 함수는 새로운 슬라이스를 반환하며, 기존 슬라이스는 변경되지 않습니다. ```go s := []int{1, 2, 3} s = append(s, 4, 5) fmt.Println(s) // 출력: [1 2 3 4 5] ``` 4. `copy()` `copy()` 함수는 슬라이스의 내용을 다른 슬라이스로 복사합니다. 복사할 수 있는 최대 요소 수는 두 슬라이스 중 더 짧은 길이에 따라 결정됩니다. ```go src := []int{1, 2, 3} dst := make([]int, 2) n := copy(dst, src) fmt.Println(dst, n) // 출력: [1 2] 2 ``` 5. `delete()` `delete()` 함수는 맵에서 특정 키와 그에 해당하는 값을 <a href='https://sangseek.com/sangseeks/삭제/ko'>삭제</a>합니다. 이 함수는 맵의 존재 여부를 확인하지 않으며, 키가 존재하지 않더라도 프로그램은 패닉을 일으키지 않습니다. ```go m := map[string]int{"a": 1, "b": 2} delete(m, "a") fmt.Println(m) // 출력: map[b:2] ``` 6. `make()` `make()` 함수는 슬라이스, 맵, 채널을 초기화하는 데 사용됩니다. 이 함수는 메모리를 할당하고, 해당 타입의 기본값으로 초기화합니다. ```go s := make([]int, 5) // 길이가 5인 슬라이스 생성 m := make(map[string]int) // 빈 맵 생성 c := make(chan int) // 정수형 채널 생성 ``` 7. `new()` `new()` 함수는 특정 타입의 포인터를 생성합니다. 이 함수는 메모리를 할당하고, 해당 타입의 제로값으로 초기화합니다. ```go p := new(int) // int 타입의 포인터 생성 *p = 42 fmt.Println(*p) // 출력: 42 ``` 8. `panic()` 및 `recover()` `panic()` 함수는 프로그램의 실행을 중단하고, 현재의 호출 스택을 출력합니다. `recover()` 함수는 패닉 상태에서 복구할 수 있는 방법을 제공합니다. 이 두 함수는 에러 처리와 관련하여 중요한 역할을 합니다. ```go func risky() { panic("something went wrong") } func main() { defer func() { if r := recover(); r != nil { fmt.Println("Recovered from:", r) } }() risky() } ``` 9. `print()` 및 `println()` `print()`와 `println()` 함수는 기본적인 출력 기능을 제공합니다. 이 함수들은 주로 디버깅 목적으로 사용되며, <a href='https://sangseek.com/sangseeks/형식화/ko'>형식화</a>된 출력이 필요할 경우 `fmt` 패키지를 사용하는 것이 좋습니다. ```go print("Hello, World!") // 출력: Hello, World! println("Hello, World!") // 출력: Hello, World! ``` 10. `complex()`, `real()`, `imag()` 이 함수들은 복소수와 관련된 작업을 수행합니다. `complex()`는 실수부와 허수부를 받아 복소수를 생성하고, `real()`과 `imag()`는 각각 복소수의 실수부와 허수부를 반환합니다. ```go c := complex(1, 2) // 1 + 2i fmt.Println(real(c)) // 출력: 1 fmt.Println(imag(c)) // 출력: 2 ``` 결론 Go 언어의 내장 함수들은 다양한 데이터 구조와 타입을 다루는 데 유용하며, 개발자가 보다 효율적으로 코드를 작성할 수 있도록 돕습니다. 이러한 함수들은 Go의 간결하고 직관적인 문법을 통해 쉽게 사용할 수 있으며, Go 언어의 강력한 기능 중 하나입니다. Go 언어를 배우고 사용하는 과정에서 이러한 내장 함수들을 잘 활용하면, 더욱 생산적인 개발이 가능할 것입니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기