如何在Struct内部添加切片数组

时间:2016-02-07 21:14:13

标签: go

我希望在我在Go中创建的结构中为字符串变量添加数组。

type Recipes struct { //Struct for recipe information
    name             string
    prepTime         int
    cookTime         int
    recipeIngredient string
    recipeID         int
    recipeYield      int
}

调用
Recipe1.name = "BBQ Pulled Chicken"
Recipe1.prepTime = 25
Recipe1.cookTime = 5
Recipe1.recipeIngredient = "1 8-ounce can reduced-sodium tomato sauce, two"
Recipe1.recipeID = 1
Recipe1.recipeYield = 8

recipeIngredient将有多种成分,因此它不能只是一个字符串。我想在recipeIngredient中有多个数组/切片元素。有人知道我怎么能这样做吗?

1 个答案:

答案 0 :(得分:3)

使用一片string。例如,

package main

import "fmt"

type Recipe struct {
    Name        string
    PrepTime    int
    CookTime    int
    Ingredients []string
    ID          int
    Yield       int
}

func main() {
    var recipe Recipe
    recipe.Name = "BBQ Pulled Chicken"
    recipe.PrepTime = 25
    recipe.CookTime = 5
    recipe.Ingredients = append(recipe.Ingredients,
        "1 8-ounce can reduced-sodium tomato sauce",
    )
    recipe.Ingredients = append(recipe.Ingredients,
        "1/2 medium onion, grated ",
    )
    recipe.ID = 1
    recipe.Yield = 8
    fmt.Println(recipe)
    fmt.Printf("Ingredients: %q\n", recipe.Ingredients)
}

输出:

{BBQ Pulled Chicken 25 5 [1 8-ounce can reduced-sodium tomato sauce 1/2 medium onion, grated ] 1 8}
Ingredients: ["1 8-ounce can reduced-sodium tomato sauce" "1/2 medium onion, grated "]