2013-09-29 86 views
1

我是golang的新手,並試圖探索lang與示例業餘愛好 項目,我需要編寫下面的樹狀結構。 它就像文件系統一樣,一個文件夾會有很多文件夾和文件。 樹結構繼續,直到它沒有進一步的分支。golang樹如Filesystem的解決方案

  [Fol] 

[Fol,Fol,Fol] [Fil,Fil,Fil] 

我的解決方法有:

type Fol struct{ 
    slice of Fol 
    slice of Fil 
} 

其服用時間爲我設計的,因此,任何一次的幫助是非常讚賞。

問候, 比涅斯

最後我用下面的鏈接提供瞭解決方案: https://stackoverflow.com/a/12659537/430294

回答

5

像這樣的事情?

Playground link

package main 

import "fmt" 

type File struct { 
    Name string 
} 

type Folder struct { 
    Name string 
    Files []File 
    Folders []Folder 
} 

func main() { 
    root := Folder{ 
     Name: "Root", 
     Files: []File{ 
      {"One"}, 
      {"Two"}, 
     }, 
     Folders: []Folder{ 
      { 
       Name: "Empty", 
      }, 
     }, 
    } 
    fmt.Printf("Root %#v\n", root) 
} 

打印

Root main.Folder{Name:"Root", Files:[]main.File{main.File{Name:"One"}, main.File{Name:"Two"}}, Folders:[]main.Folder{main.Folder{Name:"Empty", Files:[]main.File(nil), Folders:[]main.Folder(nil)}}}