दिलचस्प बात यह Rob Pike सिर्फ प्रस्तावित (18 घंटे पहले) पुस्तकालय filter जो थोड़ा करता है कि आप क्या चाहते:
देखें for instance Choose()
// Choose takes a slice of type []T and a function of type func(T) bool. (If
// the input conditions are not satisfied, Choose panics.) It returns a newly
// allocated slice containing only those elements of the input slice that
// satisfy the function.
Tested here:
बाहर
func TestChoose(t *testing.T) {
a := []int{1, 2, 3, 4, 5, 6, 7, 8, 9}
expect := []int{2, 4, 6, 8}
result := Choose(a, isEven)
twotwotwo
के रूप में अंक, GoDoc for this library कहता है:
पैकेज filter
एक फिल्टर समारोह के वितरित आवेदन के माध्यम से स्लाइस छानने के लिए उपयोगिता कार्यों में शामिल है।
पैकेज यह देखने के लिए एक प्रयोग है कि गो में ऐसी चीजें लिखना कितना आसान है। यह आसान है, लेकिन for
लूप उतना ही आसान और अधिक कुशल है।
आपको इस पैकेज का उपयोग नहीं करना चाहिए।
यह चेतावनी दस्तावेज़ "Summary of Go Generics Discussions" में दिखाई देता है, अनुभाग "Functional Code":
ये सामान्य higher-order functions जैसे map
, reduce
(fold
), filter
, zip
आदि हैं
मामले:
टाइपएफ़ डेटा ट्रांसफॉर्मियो एनएस: map
, fold
, zip
पेशेवरों जेनरिक प्रयोग करने के लिए:
संक्षिप्त तरीके से डेटा परिवर्तनों व्यक्त करते हैं।
विपक्ष जेनरिक प्रयोग करने के लिए:
सबसे तेजी से समाधान को ध्यान में रखना जब और जो आदेश उन परिवर्तनों को लागू करने की जरूरत है, और कितना डेटा प्रत्येक चरण में उत्पन्न होता है।
शुरुआती लोगों के लिए पढ़ना मुश्किल है।
वैकल्पिक समाधान:
उपयोग for
छोरों और हमेशा की तरह भाषा का निर्माण।
मुझे लगता है कि आप जिस शब्द को खोज रहे हैं वह है पाइथन सूची 'समझ' –
बस लूप स्वयं लिखें। प्रोग्रामिंग चोट नहीं पहुंचाता है। – Volker
@ वोल्कर डाउनवोट क्यों? क्या आपको [जेन जेनेरिक चर्चा का सारांश] नहीं मिला (https://docs.google.com/document/d/1vrAy9gMpMoS3uaVphB32uVXX4pi-HnNjkMEgyAHX4N4/mobilebasic?pli=1) दिलचस्प है? उस दस्तावेज़ में आपकी टिप्पणी के समान अनुशंसाएं शामिल हैं। – VonC