JAVA 회전 go 시리즈 의 함수

함 수 는 프로그램의 기본 코드 블록 입 니 다. 함 수 는 문 제 를 해결 하 는 절차 의 질서 있 는 조합 입 니 다. 자바 와 go 는 모두 유사 합 니 다. 함수 입 구 를 제공 해 야 합 니 다. 즉, main 함수 입 니 다.
자바 프로그램 에서 함 수 는 방법 이 라 고 불 리 며, 일반적으로 다음 과 같은 문법 을 포함 하 는 방법 을 정의 합 니 다.
수정자 반환 값 형식 방법 명 (매개 변수 형식 매개 변수 명) {방법 체   반환 값 반환}
수정자: 수정자 는 선택 할 수 있 습 니 다. 컴 파일 러 에 이 방법 을 어떻게 사용 해 야 하 는 지 알려 주 고 이 방법의 접근 권한 을 정의 합 니 다.
반환 값 형식: 일부 방법 은 반환 값 이 있어 야 합 니 다. 반환 값 이 필요 한 방법 은 반환 값 의 유형 을 명확 하 게 지정 해 야 합 니 다. 반환 값 이 없 으 면 void 키워드 로 설명 합 니 다.
방법 명: 방법의 실제 이름, 방법 이름과 매개 변수 목록 공동 구성 방법 서명
매개 변수 유형, 매개 변 수 는 자리 표시 자 와 같 고 매개 변수 에 값 을 전달 합 니 다. 이 값 은 실제 인삼 이나 변수 라 고 합 니 다.매개 변수 목록 은 방법의 매개 변수 유형, 순서 와 매개 변수 개 수 를 말 합 니 다. 매개 변 수 는 선택 할 수 있 는 매개 변수 가 하나 도 없습니다.
방법 체: 방법 체 는 구체 적 인 문 구 를 포함 하여 이 방법의 기능 을 정의 했다.
Go 언어 함수
함수 형식 정 의 는 다음 과 같 습 니 다.
func function_name( [parameter list] ) [return_types] {
      
}

Go 언어 에서 방법 은 모두 함수 라 고 불 립 니 다. 함 수 는 func 키워드 로 설명 되 고 그 다음 에 방법의 이름, 매개 변수 목록, 마지막 으로 반환 값 형식 입 니 다. 주의: go 안의 함 수 는 여러 개의 반환 값 을 허용 합 니 다. 자바 에서 우리 의 방법 은 하나의 반환 값 만 허용 합 니 다. 여러 개의 반환 값 이 있 을 때 우 리 는 보통 하나의 데이터 형식 에 봉 하여 되 돌아 옵 니 다.이 점 은 Go 가 자바 보다 훨씬 편리 합 니 다. 여러 매개 변 수 를 되 돌려 야 할 때 바로 되 돌아 갈 수 있 습 니 다. 다른 데이터 형식 을 유지 하지 않 아 도 됩 니 다.
  • func: 함 수 는 func 에서 시작 합 니 다
  • function_name: 함수 이름, 함수 이름과 매개 변수 목록 이 함께 함수 서명 을 구성 합 니 다.
  • parameter list: 매개 변수 목록, 매개 변 수 는 자리 차지 문자 와 같 습 니 다. 함수 가 호출 될 때 값 을 매개 변수 에 전달 할 수 있 습 니 다. 이 값 은 실제 매개 변수 라 고 합 니 다.매개 변수 목록 은 매개 변수 유형, 순서, 매개 변수 개 수 를 지정 합 니 다.매개 변 수 는 선택 할 수 있 습 니 다. 즉, 함수 도 매개 변 수 를 포함 하지 않 아 도 됩 니 다.
  • return_types: 형식 을 되 돌려 주 고 함수 가 열 값 을 되 돌려 줍 니 다.return_types 는 이 열 값 의 데이터 형식 입 니 다.일부 기능 은 값 을 되 돌려 주지 않 아 도 됩 니 다. 이 경우 returntypes 는 필수 가 아 닙 니 다.
  • 함수 체: 함수 정의 코드 집합.
  • 인 스 턴 스 아래 인 스 턴 스 는 max () 함수 의 코드 입 니 다. 이 함 수 는 두 개의 전체 매개 변수 num 1 과 num 2 를 입력 하고 이 두 매개 변수의 최대 치 를 되 돌려 줍 니 다.
    /*             */
    func max(num1, num2 int) int {
       /*        */
       var result int
    
       if (num1 > num2) {
          result = num1
       } else {
          result = num2
       }
       return result 
    }
  • 함수 매개 변수
    함수 가 인 자 를 사용 하면 이 변 수 는 함수 의 형 삼 이 라 고 할 수 있 습 니 다. 이것 은 자바 와 유사 합 니 다. 형 삼 은 함수 내 에 정 의 된 부분 변수 와 같 습 니 다.
    함 수 를 호출 하면 두 가지 방식 으로 파 라 메 터 를 전달 할 수 있 습 니 다.
    값 전달: 값 전달 이란 함 수 를 호출 할 때 실제 매개 변 수 를 함수 에 복사 하여 전달 하 는 것 을 말 합 니 다. 그러면 함수 에서 매개 변수 에 대한 수정 이 실제 매개 변수 에 영향 을 주지 않 습 니 다.
    인용 전달: 인용 전달 이란 함 수 를 호출 할 때 실제 매개 변수의 주 소 를 함수 에 전달 하 는 것 을 말 합 니 다. 그러면 함수 에서 매개 변수 에 대한 수정 은 실제 매개 변수 에 영향 을 줄 수 있 습 니 다.
    사실 이 두 개의 전 삼 과 자바 의 차 이 는 많 지 않 습 니 다. 자바 에서 기본 데이터 형식 은 기본적으로 사용 하 는 값 전달 일 뿐 인용 형식 은 주소 전달 을 사용 합 니 다. Go 언어 에 서 는 기본적으로 값 전달 입 니 다. 값 전달 이 필요 하 다 면 * 로 표시 되 는 성명 을 사용 해 야 합 니 다.
    Go 언어 함수 닫 기
    Go 언어 는 익명 함 수 를 지원 하 며 패키지 로 사용 할 수 있 습 니 다.익명 함 수 는 내 연 문 이나 표현 식 입 니 다. 익명 함수 의 우수 성 은 함수 내의 변 수 를 직접 사용 할 수 있 기 때문에 설명 할 필요 가 없습니다.실례 를 보다
    package main
    
    import "fmt"
    
    func getSequence() func() int {
       i:=0
       return func() int {
          i+=1
         return i  
       }
    }
    
    func main(){
       /* nextNumber      ,   i   0 */
       nextNumber := getSequence()  
    
       /*    nextNumber   ,i      1     */
       fmt.Println(nextNumber())
       fmt.Println(nextNumber())
       fmt.Println(nextNumber())
       
       /*        nextNumber1,      */
       nextNumber1 := getSequence()  
       fmt.Println(nextNumber1())
       fmt.Println(nextNumber1())
    }

    / / 실제 출력 결과 1, 2, 3
    이 예 는 저 를 반나절 동안 괴 롭 혔 습 니 다. go 언어 는 기본적으로 값 전달 입 니 다. 표시 되 지 않 은 성명 은 값 이 전달 되 기 때문에 원래 의 값 에 영향 을 주지 않 을 것 입 니 다.
    나중에 동료의 설명 을 통 해 우 리 는 이렇게 이해 할 수 있 습 니 다. getSequence 는 자바 의 한 종류 로 이해 하고 i 는 자바 의 전체 변수 로 이해 할 수 있 습 니 다.
    우리 가 getSequence () 를 호출 한 것 은 이 종류의 대상 이 고 뒤의 작업 은 모두 대상 안의 값 을 조작 하고 있 습 니 다.

    좋은 웹페이지 즐겨찾기