Trong Groovy, có một sự khác biệt nhỏ giữa một biến có giá trị là null và một biến có giá trị là chuỗi rỗng
Giá trị null
thể hiện sự vắng mặt của bất kỳ đối tượng nào, trong khi chuỗi trống là một đối tượng loại String
không có ký tự nào. Nếu bạn thử so sánh hai cái, chúng không giống nhau
Ví dụ: bất kỳ mã nào bên trong khối điều kiện sau sẽ không thực thi vì giá trị của varA
[null] không bằng giá trị của varB
[chuỗi rỗng]
def varA = null
def varB = '' /* The empty string */
if [varA == varB] {
// Do something here when varA equals varB
}
Một vấn đề phổ biến khác liên quan đến sự khác biệt tinh tế này là việc cố gắng so sánh một biến với chuỗi rỗng không kiểm tra xem nó có phải là null
hay không. Ví dụ: mã bên trong khối điều kiện sau sẽ thực thi [và gây ra lỗi
def varA = null
if [varA != ''] {
// set varB to the first character in varA
def varB = varA.charAt[0]
}
1 khi chạy] vì giá trị null
của varA
không bằng chuỗi trốngdef varA = null
if [varA != ''] {
// set varB to the first character in varA
def varB = varA.charAt[0]
}
Để kiểm tra xem một biến chuỗi không phải là null
cũng không phải là rỗng hay không, bạn có thể viết rõ ràng cả hai điều kiện như thế này
if [varA != null && varA != ''] {
// Do something when varA is neither null nor empty
}
Tuy nhiên, Groovy cung cấp một cách đơn giản hơn. Vì cả null
và chuỗi rỗng đều ước tính thành
def varA = null
if [varA != ''] {
// set varB to the first character in varA
def varB = varA.charAt[0]
}
4 khi được hiểu là một giá trị logic, nên bạn có thể sử dụng cách sau để thay thếif [varA] {
// Do something when varA has a non-null and non-empty value
}
Nếu varA
là null
, khối điều kiện sẽ bị bỏ qua. Điều tương tự cũng xảy ra nếu varA
bằng chuỗi rỗng vì một trong hai điều kiện sẽ ước tính thành boolean
def varA = null
if [varA != ''] {
// set varB to the first character in varA
def varB = varA.charAt[0]
}
4. Cú pháp nhỏ gọn hơn này là cách tiếp cận được khuyến nghị Thuật ngữ
def varA = null
if [varA != ''] {
// set varB to the first character in varA
def varB = varA.charAt[0]
}
9 trong python không giống như một chuỗi rỗng hoặc if [varA != null && varA != ''] {
// Do something when varA is neither null nor empty
}
0. Bản thân def varA = null
if [varA != ''] {
// set varB to the first character in varA
def varB = varA.charAt[0]
}
9 là toàn bộ kiểu dữ liệu được cung cấp bởi python và nó được sử dụng để xác định giá trị nullTuy nhiên, một đối tượng của kiểu dữ liệu
def varA = null
if [varA != ''] {
// set varB to the first character in varA
def varB = varA.charAt[0]
}
9 có thể được biểu diễn dưới dạng một chuỗi rỗng trong python bằng cách chuyển đổi nó thành kiểu dữ liệu chuỗi. Hướng dẫn này trình bày các cách khác nhau có sẵn để in Không có gì dưới dạng một chuỗi rỗng trong PythonLàm cách nào để in Không có chuỗi rỗng trong Python?
Có một số cách tiếp cận mà chúng ta có thể thử in
def varA = null
if [varA != ''] {
// set varB to the first character in varA
def varB = varA.charAt[0]
}
9 dưới dạng một chuỗi rỗng trong Python. Chúng ta nên lưu ý rằng tất cả các cách tiếp cận này đều sử dụng quy trình chuyển đổi đối tượng từ kiểu dữ liệu def varA = null
if [varA != ''] {
// set varB to the first character in varA
def varB = varA.charAt[0]
}
9 thành chuỗiSử dụng toán tử Boolean if [varA != null && varA != ''] {
// Do something when varA is neither null nor empty
}
5
if [varA != null && varA != ''] {
// Do something when varA is neither null nor empty
}
Toán tử Boolean rất tuyệt vời khi chuyển đổi một đối tượng thuộc loại
def varA = null
if [varA != ''] {
// set varB to the first character in varA
def varB = varA.charAt[0]
}
9 thành một chuỗi rỗngToán tử OR được sử dụng để so sánh hai giá trị và trả về giá trị bên trái nếu đó là
if [varA != null && varA != ''] {
// Do something when varA is neither null nor empty
}
7, trong khi trong trường hợp của if [varA != null && varA != ''] {
// Do something when varA is neither null nor empty
}
8, nó trả về giá trị bên phảiThuật ngữ Không ai có thể được phân loại thành một giá trị
if [varA != null && varA != ''] {
// Do something when varA is neither null nor empty
}
8, nhờ đó toán tử OR thực hiện thành công nhiệm vụ hiện tạiĐoạn mã sau sử dụng toán tử Boolean
if [varA != null && varA != ''] {
// Do something when varA is neither null nor empty
}
5 để in Không có dưới dạng chuỗi rỗng trong PythonSử dụng toán tử Boolean OR
1
2
3
4
5
x = Không có
y = x hoặc ""
in[y]
đầu ra
Đầu ra của mã này sẽ là một chuỗi trống và do đó sẽ không hiển thị gì
Cả
def varA = null
if [varA != ''] {
// set varB to the first character in varA
def varB = varA.charAt[0]
}
9 và if [varA != null && varA != ''] {
// Do something when varA is neither null nor empty
}
03 đều được coi là giá trị if [varA != null && varA != ''] {
// Do something when varA is neither null nor empty
}
8 trong Python, sau đó giúp trả về giá trị dưới dạng chuỗi rỗng trong đoạn mã trênSử dụng hàm lambda cùng với toán tử Boolean OR
Một bổ sung đơn giản cho cách tiếp cận đã đề cập ở trên, cách này sử dụng hàm lambda cùng với toán tử Boolean
if [varA != null && varA != ''] {
// Do something when varA is neither null nor empty
}
5 để in Không có dưới dạng một chuỗi trống trong PythonĐoạn mã sau sử dụng hàm lambda cùng với toán tử Boolean
if [varA != null && varA != ''] {
// Do something when varA is neither null nor empty
}
5 để in def varA = null
if [varA != ''] {
// set varB to the first character in varA
def varB = varA.charAt[0]
}
9 dưới dạng chuỗi rỗng trong PythonSử dụng hàm lambda cùng với toán tử boolean OR
1
2
3
4
5
x = Không có
a = lambda x. x hoặc ""
in[a]
đầu ra
Tương tự như cách tiếp cận đã đề cập ở trên, đầu ra, trong trường hợp này, sẽ là một chuỗi rỗng
đọc thêm
Không có loại trong Python
Đọc thêm →
Cách kiểm tra null trong Python
Đọc thêm →
Sử dụng câu lệnh if
Câu lệnh if thường được sử dụng để đặt một số điều kiện nhất định và kiểm tra xem chúng có được đáp ứng trong mã không
Cách tiếp cận này rất rõ ràng vì nó chỉ hoạt động nếu biến thuộc loại
def varA = null
if [varA != ''] {
// set varB to the first character in varA
def varB = varA.charAt[0]
}
9 chứ không phải khi nó thuộc loại if [varA != null && varA != ''] {
// Do something when varA is neither null nor empty
}
8 khácCâu lệnh if chỉ đơn giản là kiểm tra xem biến đã chỉ định có thuộc loại
def varA = null
if [varA != ''] {
// set varB to the first character in varA
def varB = varA.charAt[0]
}
9 hay không và nếu điều kiện đó đúng, nó sẽ gán lại biến làm cho nó trở thành một chuỗi rỗngĐoạn mã sau sử dụng câu lệnh if để in Không có dưới dạng chuỗi rỗng trong Python
Sử dụng câu lệnh if
1
2
3
4
5
6
x = Không có
nếu x là Không.
x = ""
in[x]
đầu ra
Tương tự như các cách tiếp cận khác trong bài viết, đầu ra thành công sẽ là một chuỗi rỗng
Sự kết luận
Hướng dẫn này trình bày và giải thích các cách tiếp cận khác nhau có thể được triển khai để xử lý tác vụ in Không có gì dưới dạng một chuỗi rỗng trong Python. Trong khi cách tiếp cận câu lệnh if rõ ràng hơn, hai cách tiếp cận còn lại nhanh và sử dụng toán tử Boolean đơn giản