尽管我已经使用语言超过两个月了,但是我并没有看到自己有这种需求。 我想要初始化下面显示的结构(基本上是初始化Project,然后在内部构造aaa,bbb和ccc结构)。我的问题是我是否可以真正进行初始化而不进行解组。
type example struct {
Name string `yaml:"name" json:"name"`
Key string `yaml:"key" json:"key"`
Version string `yaml:"version" json:"version"`
Project []struct {
Name string `yaml:"name" json:"name"`
aaa struct {
Name string `yaml:"name" json:"name"`
Key string `yaml:"key" json:"key"`
xxx struct {
Version string `yaml:"version" json:"version"`
} `yaml:"xxx" json:"xxx"`
zzz struct {
Version string `yaml:"version" json:"version"`
} `yaml:"zzz" json:"zzz"`
} `yaml:"aaa" json:"aaa"`
bbb struct {
Name string `yaml:"name" json:"name"`
Key string `yaml:"key" json:"key"`
xxx struct {
Version string `yaml:"version" json:"version"`
} `yaml:"xxx" json:"xxx"`
zzz struct {
Version string `yaml:"version" json:"version"`
} `yaml:"zzz" json:"zzz"`
} `yaml:"bbb" json:"bbb"`
ccc struct {
Name string `yaml:"name" json:"name"`
Key string `yaml:"key" json:"key"`
xxx struct {
Version string `yaml:"version" json:"version"`
} `yaml:"xxx" json:"xxx"`
zzz struct {
Version string `yaml:"version" json:"version"`
} `yaml:"zzz" json:"zzz"`
} `yaml:"ccc" json:"ccc"`
} `yaml:"project" json:"project"`
}
我知道我可以通过类似于以下方式进行操作。但是我试图更好地了解这种语言。
type example struct {
Name string `yaml:"name" json:"name"`
Project proyectos }
type proyectos structs{
[] proyecto
}
type proyecto struct{
Name string `yaml:"name" json:"name"`
aaa struct {
.....
} `yaml:"project" json:"project"`
我感谢任何可以通过示例为我提供提示的人。
谢谢。
答案 0 :(得分:2)
实际上看起来不错。我宁愿删除import React from "react";
import './Brewery.css'
import { Link } from 'react-router-dom';
import { ButtonToolbar, DropdownButton, MenuItem } from 'react-bootstrap';
class Brewery extends React.Component {
constructor(props) {
super(props);
this.state = {
showMenu: false,
breweries: []
}
}
componentDidMount() {
fetch("https://api.openbrewerydb.org/breweries")
.then(response => response.json())
.then((data) => {
this.setState({
breweries: data,
})
})
}
sortAlpha() {
const breweries = [].concat(this.state.breweries)
.sort((a, b) => a.name > b.name)
this.setState({breweries:breweries});
}
render() {
const { breweries } = this.state;
return(
<div className="main-container">
<div className="banner" styles="background-image: linear-gradient(-225deg, rgba(0,101,168,0.6) 0%, rgba(0,36,61,0.6) 50%), url('http://bitterminnesotabrewerytours.com/wp-content/uploads/2014/02/boston-beer-tours-glass.jpg');">
<div className="banner-content">
<h1>Brewery</h1>
<p>Find the best brewery in town</p>
</div>
</div>
<div className="container">
<div>
<button onClick={() => this.sortAlpha()}>Sort Alphabetically</button>
</div>
<div className="row">
{breweries.slice(0,10).map((brewery, i) =>
<div className="col-xs-12 col-sm-4" key={i}>
<Link to={`/brewery/${ brewery.id }`}>
<div className="card">
<div className="card-description">
<h2>{brewery.brewery_type}</h2>
<p>{brewery.city}, {brewery.state}</p>
</div>
<div className="card-category"><img src="https://img.icons8.com/color/20/000000/beer.png"/> {brewery.name}</div>
</div>
</Link>
</div>
)}
</div>
</div>
</div>
)
}
}
export default Brewery;
结构定义,因为我认为这是不必要的-您可以改用proyectos
,看起来更干净。
我不想成为那个人,但是您的问题已经在这里得到解答:https://stackoverflow.com/a/24809404/7471182