cuốn sách gpt4 ai đã làm

Phân công thực thể xử lý vấn đề null

In lại Tác giả: Người biết Thời gian cập nhật: 2024-03-13 17:28:03 26 4
mua khóa gpt4 Nike

Có một thực thể yêu cầu liên quan đến việc phát triển dự án. Nếu nó trống, hãy đặt nó thành "". Bằng cách này, máy chủ grpc sẽ không nhận được nhiều giá trị này và nó sẽ không được sử dụng làm điều kiện xử lý.

Mã này như sau:

val cmdbPrice: Cmdb.Price = Cmdb.Price.newBuilder() .setSkuId(takeIf { condition.skuId == null }?.let { "" } ?: condition.skuId) .setFastoneStrategy(takeIf { condition.fastoneStrategy == null }?.let { "" } ?: condition.fastoneStrategy) .setProductLevel(takeIf { condition.productLevel == null }?.let { "" } ?: condition.productLevel) .setFastoneRegion(takeIf { condition.fastoneRegion == null }?.let { "" } ?: condition.fastoneRegion) .setVendor(takeIf { condition.vendor == null }?.let { "" } ?: condition.vendor) .setProductType(takeIf { condition.productType?.name == null }?.let { "" } ?: condition.productType?.name) .setSystemPlatform(takeIf { condition.systemPlatform?.name == null }?.let { "" } ?: condition.systemPlatform?.name) .setFastoneModel(takeIf { condition.fastoneModel == null }?.let { "" } ?: condition.fastoneModel) .setFastoneFamily(takeIf { condition.fastoneFamily == null }?.let { "" } ?: condition.fastoneFamily) .setVendorModel(takeIf { condition.vendorModel == null }?.let { "" } ?: condition.vendorModel) .setPayType(takeIf { condition.payType == null }?.let { "" } ?: condition.payType) .build()

Nhưng mã khóa ở trên

takeIf { condition.skuId == null }?.let { "" } ?: condition.skuId

Vẫn còn một chút phức tạp:

Có thể sửa đổi thành:

val cmdbProduct: Cmdb.Product = Cmdb.Product.newBuilder() .setSkuId(condition.skuId ?: "") .setFastoneStrategy(condition.fastoneStrategy ?: "") .setProductLevel(condition.productLevel ?: "") .setFastoneRegion( condition.fastoneRegion ?: "") .setVendor(condition.vendor ?: "") .setProductType(condition.productType?.name ?: "") .setSystemPlatform(condition.systemPlatform?.name ?: "") .setFastoneModel(condition.fastoneModel ?: "") .setFastoneFamily(condition.fastoneFamily ?: "") .setVendorModel(condition.vendorModel ?: "") .setPayType(condition.payType ?: "") .build()

So sánh takeif và ?:

fun main(){ val user=user(1,"sunyuhua") val username= user.takeIf { user.className==null }?.let { "Giá trị là null" } ?:user.className println("username = $username") val username2= user.className?:"Giá trị trống" println("username2=$username2") }

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress