如何使用golang过滤给定数据中的元素?

如何使用golang过滤给定数据中的元素?,go,Go,这是输入数据: Name Dept College A1 CSE SR1 A2 CSE SR2 A3 ECE SR1 A4 EEE SR3 A5 ECE SR1 A6 MECH SR2 A7 CSE SR1 A8 EEE SR1 A9 ECE SR3 A10 MECH SR3 A11 EEE SR

这是输入数据:

 Name   Dept    College
 A1     CSE     SR1
 A2     CSE     SR2
 A3     ECE     SR1
 A4     EEE     SR3
 A5     ECE     SR1
 A6     MECH    SR2
 A7     CSE     SR1
 A8     EEE     SR1
 A9     ECE     SR3
 A10    MECH    SR3
 A11    EEE     SR1
预期产出: 如果我过滤学院名称(例如:
--flag=SR3
),则输出应在
SR3
下打印,其中有哪些名称和部门

A4 EEE

A10 MECH
  • 您需要为您的数据设计数据模型。这里有几种选择,但最简单的是struct,它有三个字段:name、department和college。数据在数组中。请在此处阅读有关数据结构的信息:
  • 您需要初始化数据结构。也许你在文本文件中有输入?然后您可以使用或的方法来读取它
  • 您需要读取命令行参数,从中获取它们
  • 过滤数据并输出结果。这是一个简单的
    for
    循环,其中包含一个
    if
    。用于输出结果
  • 示例代码:

    package main
    
    import (
      . "fmt"
      "os"
    )
    
    type Record struct {
      Name string
      Department string
      College string
    }
    
    func main() {
      records := make([]Record, 0)
    
      // add records
      records = append(records, Record{"A1", "CSE", "SR1"})
      ...
    
      // get filter from os.Args
      filter := ...
    
      for _, v := range records {
        if v.College == filter {
          Println(v.Name, v.Department)
        }
      }
    }
    

    另外,如果你问自己为什么这个问题被否决了(不是被我否决)——因为它没有证明你确实试图解决这个问题。请参见

    通过提供完整的代码来回答“家庭作业”式问题将违反网站规则。但我可以画出解决方案——见上文。