# Go语言 如何写Godoc

### 在本地开启Godoc

```
godoc -http :6060
```

### 为各种function写说明

```go
package queue

// A FIFO queue.
type Queue []int

// Pushes the element into the queue.
// 		e.g. q.Push(123)
func (q *Queue) Push(v int) {
	*q = append(*q, v)
}

// Pops element from head.
func (q *Queue) Pop() int {
	head := (*q)[0]
	*q = (*q)[1:]
	return head
}

// Returns if the queue is empty or not.
func (q *Queue) IsEmpty() bool {
	return len(*q) == 0
}
```

只要在每个函数上写注释，就能在GoDoc上显示出来

### 代码实例

重新建一个文件叫queue\_test.go。但是里面的function的名字命名为以Example开头，就可以关联到godoc里面。

```go
package queue

import "fmt"

func ExampleQueue_Pop() {
	q := Queue{1}
	q.Push(2)
	q.Push(3)
	fmt.Println(q.Pop())
	fmt.Println(q.Pop())
	fmt.Println(q.IsEmpty())

	fmt.Println(q.Pop())
	fmt.Println(q.IsEmpty())

	// Output:
	// 1
	// 2
	// false
	// 3
	// true
}
```

<div align="left"><img src="https://3536919124-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaJGzuTd3rg88xS__Wx%2F-LhOelXYfYfWYt6TBqHW%2F-LhPS3rEKR-E0g3kWdbi%2Fimage.png?alt=media&#x26;token=c97e2d12-0489-430c-8f23-8e4abfbec050" alt=""></div>







