1、数组越界(运行时错误)。
package main
import "fmt"
func main() {
var s []string
fmt.Println(s)
fmt.Println(s[0])
}
运行结果:
[]
panic: runtime error: index out of range
goroutine 1 [running]:
main.main()
index out of range
:索引超出范围(数组越界)
2、空指针异常(运行时错误)。
package main
import "fmt"
type Person struct {
Name string
Age int
}
func main() {
var p *Person
fmt.Println(p)
fmt.Println(p.Name)
}
运行结果:
<nil>
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x10914c8]
goroutine 1 [running]:
main.main()
segmentation violation
:内存段异常。
3、类型断言失败(接口转换异常)。
package main
import "fmt"
func main() {
add(20, 18)
add(1, "hello")
}
func add(a, b interface{
}) {
i := a.(int)
j := b.(int)
fmt.Println(