举例理解:
var array = [...] int {1, 2, 3, 4, 5, 6, 7}
slice1 = array[2:5:6] //那么slice1 = []int{3, 4, 5} , len(slice1) 等于3,cap(slice1) 等于5
var array = [...] int {1, 2, 3, 4, 5, 6, 7}
slice1 = array[2:5:6] //那么slice1 = []int{3, 4, 5} , len(slice1) 等于3,cap(slice1) 等于5
2018-01-31
result:=0
for i:=0;i<len(numbers2);i++{
result=result+numbers2[i]
}
sum := result
for i:=0;i<len(numbers2);i++{
result=result+numbers2[i]
}
sum := result
2018-01-31
最赞回答 / 慕瓜3564473
我从java的思路转变过来和多态有点像。指针类型可能就是子类,而基底类型好比父类,你实现一个子类的时候就实现了所有父类的内容,而你实现一个父类的情况下子类的功能并没有被实现。
2018-01-25
type Cat struct{
Name string
Age uint8
Location string
}
func (cat *Cat) Grow(){
cat.Age --
}
func (cat *Cat) Move(new string)string{
return new;
}
Name string
Age uint8
Location string
}
func (cat *Cat) Grow(){
cat.Age --
}
func (cat *Cat) Move(new string)string{
return new;
}
2018-01-11
其实只要在panic或其调用栈之前加上 defer ... recover语句就可以了,比如这样
func innerFunc() {
fmt.Println("Enter innerFunc")
defer func() {
if p := recover(); p != nil {
fmt.Printf("Fatal error: %s\n", p)
}
}()
panic(errors.New("Occur a panic!"))
fmt.Println("Quit innerFunc")
}
func innerFunc() {
fmt.Println("Enter innerFunc")
defer func() {
if p := recover(); p != nil {
fmt.Printf("Fatal error: %s\n", p)
}
}()
panic(errors.New("Occur a panic!"))
fmt.Println("Quit innerFunc")
}
2018-01-09
func main() {
for i := 0; i < 10; i++ {
func(n int) {
fmt.Printf("%d ", fibonacci(i))
}(i)
defer fmt.Printf("%d ", fibonacci(i))
}
}
for i := 0; i < 10; i++ {
func(n int) {
fmt.Printf("%d ", fibonacci(i))
}(i)
defer fmt.Printf("%d ", fibonacci(i))
}
}
2018-01-08