gradle 학습 노트 (2) Groovy 기초
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 문법
//
, 여러 줄 주석 /* */
, 문서 주석 /** */
을 지원 합 니 다.def
은 변수, 방법 을 정의 합 니 다.(Groovy 는 유형 추정 으로 판단)def value = "this is a string";//String.Class
def value = 1;//Integer.Class
println value.class;
def function(var1 , var2){
...
varResult; //
}
String function(var1 , var2){
...
return "StringResult"; //
}
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 에서 용기 류 는 세 가지 가 있 습 니 다.
자바 와 같은 집합 만 들 기:
(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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.