官术网_书友最值得收藏!

Struct

A struct in Go is a data structure that is composed of fields, where each field has a type. Here is what a Go struct looks like:

type myStruct struct{
intField int
stringField string
sliceField []int
}

The preceding code creates a struct type that is called myStruct, which contains three fields:

  • intField of type int
  • stringField of type string
  • sliceField of type []int

You can then initialize and use that struct type in your code:

var s = myStruct{
intField: 3,
stringField: "three",
sliceField : []int{1,2,3},
}

The preceding method of initialization is also known as struct literals. There is a shorter version of it that looks like this:

var s = myStruct{3,"three",[]int{1,2,3}}

You can also use what is known as dot notation, which looks as follows:

var s = myStruct{}
s.intField = 3
s.stringField = "three"
s.sliceField= []int{1,2,3}

You can obtain a pointer to a struct by doing this:

var sPtr = &myStruct{
intField:3,
stringField:"three",
sliceField: []int{1,2,3},
}

A dot notation can be used with a Go struct pointer, since Go will understand what needs to be done without the need to do any pointer de-referencing:

var s = &myStruct{}
s.intField = 3
s.stringField = "three"
s.sliceField= []int{1,2,3}

If the Go struct field names start with lower case letters, they will not be visible to external packages. If you want your struct or its fields to be visible to other packages, start the struct and/or field name with upper case letters.

Now, let's talk about Go methods.

主站蜘蛛池模板: 大埔县| 黄骅市| 临西县| 即墨市| 北票市| 仁怀市| 黄山市| 澄城县| 牙克石市| 新晃| 朝阳县| 关岭| 仁布县| 阜南县| 平远县| 汤阴县| 应用必备| 锦屏县| 湘潭县| 通河县| 浠水县| 六安市| 保亭| 来凤县| 马尔康县| 敦化市| 南雄市| 梧州市| 临沂市| 灵武市| 昌都县| 邢台市| 肥东县| 九江县| 高青县| 通榆县| 满洲里市| 安陆市| 齐河县| 石景山区| 宁国市|