Groovy의 구덩이들
each는 닫힌 가방을 사용하여 순환하기 때문에 닫힌 가방에서return은 이번 순환에서 벗어난 닫힌 가방에 해당하며 순환을 종료하지 않습니다.그래서 each 클립에 있는return은 for 순환에 있는continue와 유사합니다
class TestEach {
def static list = [1,2,3,4,5]
static main(args){
// 1
// 2
// 3
// 4
// 5
list.each {
println it
return
}
// ------------------------------
println '-'*30
// 1
for(int i=0;i<list.size();i++){
println list[i]
return
}
}
}
갱 2: 맵 저장 방식 함정
아래 코드에서 보듯이 맵 앞의 두 가지 값 부여 방식에 문제가 있습니다.그러나 두 번째 방식으로 저장된 맵 출력은 정상적이지만 값을 얻을 때 찾을 수 없습니다.
키를 인쇄하는class 형식은 GString입니다. String으로 값을 찾으면 찾을 수 없습니다.
class TestMap {
def static map1 = [:]
def static map2 = [:]
def static map3 = [:]
def static map4 = [:]
def static map5 = [:]
static main(args){
String val = 'a'
//Error
map1 << [val:'b']
//Error
map2 << ["$val":'b']
map3["$val"] = 'b'
map4[val] = 'b'
map5."$val" = 'b'
//[val:b]
println map1
//[a:b]
println map2
//[a:b]
println map3
//[a:b]
println map4
//[a:b]
println map5
println '-'*30
//null
println map1['a']
//null
println map2['a']
//b
println map3['a']
//b
println map4['a']
//b
println map5['a']
map2.each {k,v->
//class org.codehaus.groovy.runtime.GStringImpl
println k.class
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.