gradle 학습 노트 (2) Groovy 기초

11190 단어 pythonJsGit 등
머리말
gradle 학습 노트 (1) 에서 gradle 학습 기초: Groovy 와 DSL.이 모든 필 기 는 Groovy 를 배운다.먼저 groovy 를 소개 한 다음 에 학습 절 차 를 시작 합 니 다.
소개: Groovy is a powerful, optionally typed and dynamic language, with static - type ing and static compilation capabilities, for the Java platform aimed at improving developer productivity thanks to a concise, familiar and easy to learn syntax. Groovy 는 기능 이 강하 고 유연 한 동적 언어 입 니 다.이것 은 자바 플랫폼 에서 간결 하고 익숙 하 며 배우 기 쉬 운 언어 로 개발 자의 효율 을 크게 향상 시 켰 다.
Groovy 는 스 크 립 트 언어 에 속 합 니 다.Groovy 는 더욱 간단 하고 유연 한 문법 을 제공 하여 운영 할 때 동적 으로 유형 검 사 를 할 수 있 습 니 다.
Groovy 스 크 립 트 가 실 행 될 때 Groovy 는 자바 류 바이트 코드 로 컴 파일 한 다음 JVM 을 통 해 자바 류 를 실행 합 니 다.그래서 실행 할 때 Groovy 코드 가 자바 코드 로 컴 파일 되 었 기 때문에 JVM 은 자신 이 Groovy 코드 를 실행 하고 있 는 지 전혀 몰 랐 다.이것 은 Groovy 의 가용성 을 보장 한다.
groovy 설치
홈 페이지 Download groovy 에 홈 페이지 절차 에 따라 다운로드 하고 설치 합 니 다.
자신 이 사용 하 는 것 은 mac 이 고 Homebrew 가 설치 되 어 있 으 며 명령 행 을 직접 입력 하면 설 치 됩 니 다 (HomeBrew: HomeBrew 홈 페이지 설치).
brew install groovy

설치 후 이름 줄 을 입력 하여 설치 여 부 를 테스트 합 니 다. 설치 에 성공 하면 현재 버 전 을 출력 합 니 다:
groovy -version

공식 적 으로 다운 로드 를 통 해 zip 가방 을 내 려 올 수 있 습 니 다. Groovy 의 모든 문 서 는 그 안에 있 습 니 다. 보기 가 훨씬 편리 합 니 다.
Groovy 기초 문법 지식:
더 많은 문법 홈 페이지 상세 설명: Groovy 문법
  • Groovy 주석 표 시 는 자바 와 마찬가지 로 한 줄 주석 //, 여러 줄 주석 /* */, 문서 주석 /** */ 을 지원 합 니 다.
  • Groovy 문 구 는 점 수 를 생략 할 수 있 습 니 다
  • Groovy 의 모든 종류, 방법 등 은 별도로 지정 되 지 않 는 한 Public 입 니 다.
  • Groovy 는 동적 형식 을 지원 하고 모든 사용 def 은 변수, 방법 을 정의 합 니 다.(Groovy 는 유형 추정 으로 판단)
    def value = "this is a string";//String.Class
    def value = 1;//Integer.Class
    println value.class;
    
  • 함 수 를 정의 할 때 매개 변수의 유형 을 지정 하지 않 아 도 됩 니 다.
  • Groovy 에서 함수 의 반환 값 도 유형 일 수 있 습 니 다.
    def function(var1 , var2){
        ...
        varResult; //                       
    }
    
  • 함수 반환 형식 을 지정 하면 키워드 정의 함 수 를 추가 하지 않 아 도 됩 니 다.
    String function(var1 , var2){
        ...
        return "StringResult"; //                       
    }
    
  • 더 많은 IBM 이 Groovy 에 정통 한 것 을 보 세 요. Groovy 를 빨리 알 수 있 습 니 다.
  • 더 많은 것 은 Differences with Java 를 보고 Groovy 와 자바 의 차 이 를 알 아 보 세 요.

  • Groovy 의 기본 유형 을 소개 합 니 다.
    1. 기본 데이터 형식
    Groovy 세계 의 모든 사물 은 대상 이 고 기본 데이터 형식 이 없습니다.그래서 자바 의 byte, int, boolean, char 등 은 모두 그들의 포장 유형 이다.홈 페이지 에서 이렇게 설명 합 니 다.
    def a = 1
    assert a instanceof Integer
    
    // Integer.MAX_VALUE
    def b = 2147483647
    assert b instanceof Integer
    
    // Integer.MAX_VALUE + 1
    def c = 2147483648
    assert c instanceof Long
    
    // Long.MAX_VALUE
    def d = 9223372036854775807
    assert d instanceof Long
    
    // Long.MAX_VALUE + 1
    def e = 9223372036854775808
    assert e instanceof BigInteger

    2. 용기 류
    Groovy Collections
    Groovy 에서 용기 류 는 세 가지 가 있 습 니 다.
  • List 링크, 자바 의 ArrayList
  • 에 대응 합 니 다.
  • Map 키 표 는 자바 의 LinkedHashMap
  • 에 대응 합 니 다.
  • Range 범위, List 에 대한 확장
  • 2.1 리스트 링크
    자바 와 같은 집합 만 들 기:
    (list1) //     
    def list3 =  ['a', 1, 'a', 'a', 2.5, 2.5f, 2.5d, 'hello', 7g, null, 9 as byte] //      ,      ,   null" data-snippet-id="ext.ef9a96ec26daf03a854730e0fce9d0de" data-snippet-saved="false" data-codota-status="done">def list = [5, 6, 7, 8] //    
    assert list[2] == 7 //     2  
    assert list instanceof java.util.List //   java.util.List
    
    def list2 = new ArrayList(list1) //     
    def list3 =  ['a', 1, 'a', 'a', 2.5, 2.5f, 2.5d, 'hello', 7g, null, 9 as byte] //      ,      ,   null

    원소 가 져 오기:
    def list = [1,'2',true,"stringFour",null];//    
    println list.size();//    
    
    
    try{
      list.get(-1);
    }catch(e){
      println(e.toString());
    }
    
    println list[-2];//     
    println list.getAt(-2);//  getAt()    ,     

    집합
    //     ,    each()  
    list.each{
      println "Item $it" //it      ,       
    }
    
    //    ,eachWithIndex()  
    list.eachWithIndex{it,i ->
      println("$i : $it");
    }

    2.2 맵 키 시트
    사용 def 맵 만 들 기:
    def map = [name:"zhangsan", "sex":true, id:123];//  Map  
    println(map.size());
    
    //   
    println map.get("name");
    println map.name;
    
    //   
    map.addone = "addedOne";
    map.put("aa",false);

    지도 옮 겨 다 니 기:
    // `entry` is a map entry
    map.each { entry ->
        println "Name: $entry.key Age: $entry.value"
    }
    
    // `entry` is a map entry, `i` the index in the map
    map.eachWithIndex { entry, i ->
        println "$i - Name: $entry.key Age: $entry.value"
    }
    
    // Alternatively you can use key and value directly
    map.each { key, value ->
        println "Name: $key Age: $value"
    }
    
    // Key, value and i as the index in the map
    map.eachWithIndex { key, value, i ->
        println "$i - Name: $key Age: $value"
    }

    2.3 Range 클래스
    Ranges allow you to create a list of sequential values. These can be used as List since Range extends java. util. List. Ranges 는 List 의 변형 체 로 순서 있 는 집합 을 쉽게 만 들 수 있 습 니 다.
  • 사용 [:] 생 성 좌우 에 포 함 된 Range
  • 사용 .. 왼쪽 포함, 오른쪽 포함 되 지 않 은 Range 만 들 기
  • 생 성 범위:
    def range = 5..8;//       Range
    range = 5..<8; //   8,  8
    
    println range.from +", " +range.to;

    범위 옮 겨 다 니 기:
    //for    
    for (i in range) {
        println "Hello ${i}"
    }
    
    //each()    , List  
    (1..10).each { i ->
        println "Hello ${i}"
    }
    
    //    ,  switch   :
    switch (year) {
        case 1..10: interestRate = 0.076; break;
        case 11..25: interestRate = 0.052; break;
        default: interestRate = 0.037;
    }

    3. Groovy 가이드 백
    공식 문서: Imports
    groovy 기본 패키지:
    import java.lang.*
    import java.util.*
    import java.io.*
    import java.net.*
    import groovy.lang.*
    import groovy.util.*
    import java.math.BigInteger
    import java.math.BigDecimal

    Groovy 가 이 가방 들 을 기본 으로 안내 한 줄 알 고 이 가방 들 의 종 류 를 직접 사용 할 수 있 습 니 다.더 많은 패키지 방식 은 공식 문 서 를 보십시오.
    결어:
    기본 적 인 문법 과 데이터 형식 을 끝 냈 습 니 다. 자바 의 작은 프로그램 을 쓰기 시 작 했 습 니 다. 피 보 나치 수열 같은 것 을 인쇄 하 는 것 이 무엇 입 니까?그러나 우 리 는 gradle 을 위해 기 초 를 다 졌 고 스 크 립 트 언어 는 groovy 보다 더 좋 았 다.네, 공부 하 는 과정 에서 그루 브 이 어 딘 가 에 python 이 있 는 것 을 발 견 했 습 니 다. 그루 브 이 를 배 운 후에 다른 것 은 미리 배 운 것 과 같 습 니 다.응, 괜찮아.
    그러면 그 다음 에 Groovy 의 어 려 운 점 과 포 인 트 를 배 워 야 합 니 다. 폐쇄.gradle 에서 제일 많이 쓰 는 게 얘 야!!!
    Groovy API 문서 추가: Groovy JDK API 설명서
    학습 코드 github 에서 github

    좋은 웹페이지 즐겨찾기