Chapter 8 - Structs

Exercise 1: Defined Types and Structs

Let’s create a struct type named rectangle, that represents rectangular areas. It should have length and width fields, both of type float64.

Also create a rectangleInfo function that accepts a rectangle as a parameter. rectangleInfo should print "Length:" followed by the rectangle’s length, then "Width:" followed by the rectangle’s width.

Finally, in your main function, create a new rectangle value, and set its length and width fields. Then pass the rectangle to rectangleInfo to display its field values.

Solution

package main

import "fmt"

// YOUR CODE HERE: Declare a "rectangle" struct type.
type rectangle struct {
	length float64
	width  float64
}

// YOUR CODE HERE: Define a rectangleInfo function.
func rectangleInfo(r rectangle) {
	fmt.Println("Length:", r.length)
	fmt.Println("Width:", r.width)
}

func main() {
	// YOUR CODE HERE: Create a new rectangle, and set
	// its length and width fields. Pass it to rectangleInfo.
	var r rectangle
	r.length = 4.2
	r.width = 2.3
	rectangleInfo(r)
}

Sample output:

Length: 4.2
Width: 2.3