task printStringClass <<{ def str1 = '單引號' def str2 = "雙引號" println "單引號定義的字符串類型:"+str1.getClass().name; println "雙引號定義的字符串類型:"+str2.getClass().name; } task printStringVar{ def name = "張三" println '單引號的變量計算:${name}' println "雙引號過的變量計算:${name}" }
/gradlew printStringClass :printStringClass 單引號定義的字符串類型:java.lang.String 雙引號定義的字符串類型:java.lang.String BUILD SUCCESSFUL Total time: 2.219 secs This build could be faster, please consider using the Gradle Daemon: http://gradle.org/docs/2.4/userguide/gradle_daemon.html endian11@endian11-virtual-machine:~/lzw/frame/android-gradle-book-code$ vim build.gradle endian11@endian11-virtual-machine:~/lzw/frame/android-gradle-book-code$ ./gradlew printStringVar 單引號的變量計算:${name} 雙引號過的變量計算:張三 :printStringVar UP-TO-DATE BUILD SUCCESSFUL
單引號不能對字符串裏的表達式作運算,雙引號能夠對字符串常量裏面的表達式作運算html
task printListStr <<{ def numList = [1,2,3,4,5,6] println numList.getClass().name; numList.each{ println it } }
endian11@endian11-virtual-machine:~/lzw/frame/android-gradle-book-code$ gradle printListStrjava
> Task :printListStr
java.util.ArrayList
1
2
3
4
5
6android
task printMapStr <<{ def ahashMap = ['width':123,'heigt':456] println ahashMap.getClass().name println ahashMap["width"] println ahashMap.heigt ahashMap.each{ println "key:${it.key},Value:${it.value}" } }
endian11@endian11-virtual-machine:~/lzw/frame/android-gradle-book-code$ gradle printmapstrvim
> Task :printMapStr
java.util.LinkedHashMap
123
456
key:width,Value:123
key:heigt,Value:456ide
task invokeMethod <<{ method(1,2) method 1,2 } def method(int a,int b){ println a+b }
./gradlew invokeMethod
:invokeMethod
3
3gradle
task printMethodReturn << { def add1 = method2 1,2 def add2 = method2 5,3 println "add1:${add1},add2:${add2}" } def method2(int a, int b){ if (a > b){ a }else{ b } }
endian11@endian11-virtual-machine:~/lzw/frame/android-gradle-book-code$ ./gradlew printMethodReturn
:printMethodReturn
add1:2,add2:5ui
BUILD SUCCESSFULcode