亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

美化丑陋的三層嵌套 for 循環

美化丑陋的三層嵌套 for 循環

Go
HUH函數 2023-08-07 14:48:41
美化這個函數的最 Go 方式是什么?這就是我想出的,有點效果,但它太丑了,任何關于美化它的幫助將不勝感激。negate如果可能的話,我們也希望能夠實現此功能。我可以不使用函數文字、映射等嗎?var UsageTypes = []string{"PHYSICAL_SIZE","PHYSICAL_SIZE","PROVISIONED_SIZE","SNAPSHOT_SIZE","LOGICAL_SIZE_PERCENTAGE","TOTAL_VOLUME_SIZE","ALLOCATED_SIZE","ALLOCATED_USED","TOTAL_LOGICAL_SIZE","TOTAL_LOGICAL_SIZE_PERCENTAGE","TOTAL_SNAPSHOT_SIZE","LOGICAL_OR_ALLOCATED_GREATER_SIZE",}var MeasuredTypes = []string{"LIF_RECEIVED_DATA","ECEIVED_ERRORS","LIF_RECEIVED_PACKET","LIF_SENT_DATA","LIF_SENT_ERRORS","LIF_SENT_PACKET","LINK_CURRENT_STATE","RX_BYTES","RX_DISCARDS","RX_CRC_ERRORS","RX_ERRORS","RX_FRAMES","LINK_UP_TO_DOWNS","TX_BYTES","TX_DISCARDS","TX_ERRORS","TX_HW_ERRORS","TX_FRAMES","LOGICAL_OR_ALLOCATED_GREATER_SIZE","LOGICAL_SIZE","PHYSICAL_SIZE","PROVISIONED_SIZE","SNAPSHOT_SIZE","VOLUME_ONLINE","TOTAL_THROUGHPUT","LOGICAL_SIZE_PERCENTAGE","READ_THROUGHPUT","WRITE_THROUGHPUT","OTHER_THROUGHPUT","TOTAL_IOPS","WRITE_IOPS","READ_IOPS","OTHER_IOPS","AVERAGE_TOTAL_LATENCY","AVERAGE_WRITE_LATENCY","AVERAGE_READ_LATENCY","AVERAGE_OTHER_LATENCY","FILESYSTEM_READ_OPS","FILESYSTEM_WRITE_OPS","FILESYSTEM_TOTAL_OPS","FILESYSTEM_OTHER_OPS","IO_BYTES_PER_READ_OPS","IO_BYTES_PER_WRITE_OPS","IO_BYTES_PER_OTHER_OPS","IO_BYTES_PER_TOTAL_OPS","READ_IO","WRITE_IO","TOTAL_IO","OTHER_IO","ACTIVE_CONNECTIONS","TOTAL_VOLUME_SIZE","ALLOCATED_SIZE","ALLOCATED_USED","TOTAL_LOGICAL_SIZE","TOTAL_LOGICAL_SIZE_PERCENTAGE","TOTAL_SNAPSHOT_SIZE","ONTAP_CAPACITY_DISK_CAPACITY","ONTAP_CAPACITY_TOTAL_STORAGE_EFFICIENCY_RATIO","ONTAP_CAPACITY_TOTAL_PHYSICAL_USED","ONTAP_CAPACITY_SIZE_USED","ONTAP_CAPACITY_MEMORY","ONTAP_CAPACITY_AVERAGE_PROCESSOR_BUSY","ONTAP_CAPACITY_PEAK_PROCESSOR_BUSY",}
查看完整描述

1 回答

?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

您需要正確的抽象級別:


func has(in string[], item string) bool {

   for _,x:=range in {

      if x==item {

        return true

      }

   }

   return false

}

func isMeasuredTypeAUsageMetric(measuredTypeIn []string) []string {

  result:=[]string{}

  for _,item:=range measuredTypeIn {

      if has(MeasuredTypes,item) {

         if has(UsageTypes,item) {

            result=append(result,item)

         }

      } else {

        ///error

     }

  }

  return result

}

map[string]bool通過使用 a代替 [] 字符串作為文字可以進一步簡化。


var MeasuredTypes=map[string]bool{"itemInUsageTypes": true,

"itemNotInUsageTypes":false,

...

}

然后你可以這樣做:


usage,measured:=MeasuredTypes[item]

if measured {

  // It is measured type

  if usage {

     // It is usage type

  }

}


查看完整回答
反對 回復 2023-08-07
  • 1 回答
  • 0 關注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號