상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
뉴욕에서 전자기기 엔지니어의 평균 월급은 얼마인가요?
태국에서 월급을 받는 직장인들이 가장 많이 받는 상여금은 무엇인가요?
대만에서 그래픽 디자이너의 월급은 어떻게 되나요?
미야코지마의 해양 생물 보호를 위한 정책 변화는 어떤 것이 있나요?
대만식 스프를 더 건강하게 만들 수 있는 방법은 무엇인가요?
벳푸에서 가장 유명한 온천은 무엇인가요?
벳푸에서의 여행 중 꼭 가봐야 할 카페는 어디인가요?
벳푸에서의 여행 중 방문할 만한 박물관은 어디인가요?
공산주의 체제에서 개인의 재산권은 어떻게 처리되나요?
공산주의가 실패한 이유는 무엇인가요?
공산주의와 민족주의의 관계는 어떤가요?
공산주의의 이념이 사회적 불평등 문제에 어떻게 접근하나요?
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순위입니다.
수정하기
취소하기