Go의 함수

Go에서 함수는 특정 작업을 수행하는 코드 블록으로, 프로그램 전체에서 재사용하여 메모리를 절약하고, 가독성을 높이고, 시간을 절약할 수 있습니다. Golang 함수는 호출자에게 값을 반환할 수도 있고 반환하지 않을 수도 있습니다.

Go의 함수

Golang 함수에 대해 알아야 할 사항

예를 들어:

package main
import "fmt"

// multiply() nhân 2 số nguyên và trả về kết quả
func multiply(a, b int) int {
    return a * b
}

func main() {
    result := multiply(5, 10)
    fmt.Printf("multiplication: %d", result)
}

결과:

multiplication: 50

Golang의 함수 구문

func function_name(Parameter-list)(Return_type) {
    // function body...
}

함수 선언

Go에서는 함수는 func 키워드로 선언되고, 그 뒤에 이름, 매개변수, 선택적 반환 유형이 옵니다.

통사론

func function_name(Parameter-list)(Return_type) {
    // function body...
}

곱셈 함수 예제

func multiply(a, b int) int {
    return a * b
}

func: 함수를 선언하는 키워드.
function_name: 함수의 이름, 예: 곱하다.
매개변수 목록: a, b int—매개변수와 그 유형.
Return_type: int는 반환 유형을 지정합니다.

호출 함수

함수를 사용하려면 필요한 인수를 지정하여 함수 이름으로 함수를 호출하면 됩니다. 여기서 multiply(5, 10)은 510을 인수로 사용하여 함수를 호출합니다 .

예를 들어

result := multiply(5, 10)
fmt.Printf("Result of multiplication: %d", result)

함수 인수

Go는 함수에 매개변수를 전달하는 두 가지 방법을 지원합니다. 값으로 호출하는 방법과 참조로 호출하는 방법입니다. 기본적으로 Go는 값 호출을 사용합니다. 즉, 값이 복사되고 함수 내부의 변경 사항은 호출자의 변수에 영향을 미치지 않습니다.

값으로 호출

값 호출에서는 인수 값이 함수 매개변수에 복사되므로 함수의 변경 사항이 원래 변수에 영향을 미치지 않습니다.

예를 들어:

package main
import "fmt"

func multiply(a, b int) int {
    a = a * 2 // chỉnh sửa bên trong hàm này
    return a * b
}

func main() {
    x := 5
    y := 10
    fmt.Printf("Before: x = %d, y = %d\n", x, y)
    result := multiply(x, y)
    fmt.Printf("multiplication: %d\n", result)
    fmt.Printf("After: x = %d, y = %d\n", x, y)
}

결과:

Before: x = 5, y = 10
multiplication: 100
After: x = 5, y = 10

참조로 호출

참조 호출에서는 포인터를 사용하여 함수 내부의 변경 사항이 호출자의 변수에 반영되도록 합니다.

예를 들어:

package main
import "fmt"

func multiply(a, b *int) int {
    *a = *a * 2 // chỉnh sửa giá trị của a ở địa chỉ bộ nhớ của nó
    return *a * *b
}

func main() {
    x := 5
    y := 10
    fmt.Printf("Before: x = %d, y = %d\n", x, y)
    result := multiply(&x, &y)
    fmt.Printf("multiplication: %d\n", result)
    fmt.Printf("After: x = %d, y = %d\n", x, y)
}

결과

Before: x = 5, y = 10
multiplication: 100
After: x = 10, y = 10

댓글 남기기

수원에서 TV 버리는 방법: 무료 방문수거부터 대형폐기물 처리까지

수원에서 TV 버리는 방법: 무료 방문수거부터 대형폐기물 처리까지

수원에서 TV 버리는 방법을 정리했습니다. 무료 폐가전 방문수거 예약, 벽걸이 TV 철거, 준비물, 수거 불가 사례와 대형폐기물 처리 기준을 확인하세요.

부산에서 이불 버리는 방법: 구·군별 신고, 수수료, 배출 순서까지

부산에서 이불 버리는 방법: 구·군별 신고, 수수료, 배출 순서까지

부산에서 이불을 버릴 때 먼저 확인할 것은 거주 구·군의 대형폐기물 기준입니다. 연제구·해운대구·사상구 공식 기준의 차이, 신고·결제·배출 순서, 전기매트와 일반 이불의 구분, 실수하기 쉬운 점을 정리했습니다.

남양주에서 노트북 버리는 방법: 무상수거, 대형폐기물 신고, 개인정보 삭제까지

남양주에서 노트북 버리는 방법: 무상수거, 대형폐기물 신고, 개인정보 삭제까지

남양주에서 노트북 버리는 방법을 정리했습니다. 무상방문수거 조건, 대형폐기물 신고, 개인정보 삭제와 배터리 주의사항을 확인하세요.

전주에서 스프레이캔 버리는 방법: 안전하게 비우고 캔류로 배출하기

전주에서 스프레이캔 버리는 방법: 안전하게 비우고 캔류로 배출하기

전주시 안내에 따라 스프레이캔을 안전하게 비우는 순서, 캔류 수거함에 내놓는 방법, 내용물이 남거나 노즐이 막혔을 때 확인할 연락처를 정리했습니다.

화성 종량제봉투 가격과 판매처 확인 방법: 규격별 요금과 재고 확인까지

화성 종량제봉투 가격과 판매처 확인 방법: 규격별 요금과 재고 확인까지

화성 종량제봉투 가격을 소각용·매립용·음식물·재사용·사업장별로 정리하고, 공식 판매처 찾기와 재고 확인 방법, 배출 시간까지 안내합니다.

퇴직금은 1년 미만 근무하면 받을 수 없나? 2026년 기준으로 정확히 정리

퇴직금은 1년 미만 근무하면 받을 수 없나? 2026년 기준으로 정확히 정리

2026년 9월 현행법 기준, 1년 미만 근무자의 퇴직금 지급 요건과 1년 계산법, 주 15시간 기준, 휴직·계약갱신·퇴직일 사례를 공식 자료로 정리합니다.

자전거는 어떻게 버려야 하나? 재사용부터 대형폐기물 신고까지 제대로 끝내는 방법

자전거는 어떻게 버려야 하나? 재사용부터 대형폐기물 신고까지 제대로 끝내는 방법

버릴 자전거의 상태 확인부터 재사용, 대형폐기물 신고, 배출표시, 수거 확인까지 순서대로 설명합니다. 일반 자전거와 전기자전거의 차이, 지역별 수수료 확인법도 함께 정리했습니다.

대전 폐가전 무료수거 신청 방법: 예약부터 수거 당일까지 한 번에 이해하기

대전 폐가전 무료수거 신청 방법: 예약부터 수거 당일까지 한 번에 이해하기

대전에서 폐가전 무상 방문수거를 신청하는 방법을 가상 사례와 함께 설명합니다. 대상 품목, 5개 기준, 온라인 예약, 수거 전 준비, 당일 유의사항을 2026년 9월 확인 기준으로 정리했습니다.

김해에서 매트리스 버리는 방법: 신고부터 배출 위치까지

김해에서 매트리스 버리는 방법: 신고부터 배출 위치까지

김해에서 매트리스를 버릴 때 필요한 대형폐기물 신고, 수수료 확인, 예약번호 부착, 지정 장소 배출 방법을 단계별로 정리했습니다.

인천에서 소파 버리는 방법: 대형폐기물 신고부터 수거 확인까지

인천에서 소파 버리는 방법: 대형폐기물 신고부터 수거 확인까지

인천에서 소파 버리는 방법을 정리했습니다. 주소지 구·군 신고, 품목과 수수료 확인, 배출 장소와 안전한 운반, 미수거 시 점검 기준까지 한 번에 확인하세요.