# 结构体字面量

在初始化结构体时，可以&#x7528;_&#x7ED3;构体字面&#x91CF;_&#x7684;方式为其各字段赋值。

```go
type Point struct { X, Y int }
p := Point{1, 2}
```

上述例子根据正确的顺序为结构体字段赋值。这并不常用，因为程序员必须记住字段们确定的顺序；通常，可以通过列出某些或全部字段名以及其对应的值来初始化结构体。

```go
anim := gif.GIF{LoopCount: nframes}
```

若初始化时只列出了某些字段的值，则省略的字段的值会被设为其对应类型的零值。

{% hint style="warning" %}
直接按顺序填字面量和列“字段名:字段值”这两种初始化方式不可同时混用。
{% endhint %}
