getting deeper with slices, empty slice vs nil slice | len() and cap() etc..
This commit is contained in:
+2
-1
@@ -14,7 +14,8 @@ func fib() func() int {
|
|||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
f := fib()
|
f := fib()
|
||||||
for x := f(); x < 100; x = f() {
|
fmt.Println("This Fibonacci sequense < 10000")
|
||||||
|
for x := f(); x < 10000; x = f() {
|
||||||
fmt.Println(x)
|
fmt.Println(x)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
module main
|
||||||
|
|
||||||
|
go 1.27.0
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
var s []int
|
||||||
|
t := []int{}
|
||||||
|
u := make([]string, 5)
|
||||||
|
v := make([]string, 0, 5)
|
||||||
|
|
||||||
|
fmt.Printf("%d, %d, %T, %5t, %#[3]v\n", len(s), cap(s), s, s == nil)
|
||||||
|
fmt.Printf("%d, %d, %T, %5t, %#[3]v\n", len(t), cap(t), t, t == nil)
|
||||||
|
fmt.Printf("%d, %d, %T, %5t, %#[3]v\n", len(u), cap(u), u, u == nil)
|
||||||
|
fmt.Printf("%d, %d, %T, %5t, %#[3]v\n", len(v), cap(v), v, v == nil)
|
||||||
|
|
||||||
|
s = append(s, 1, 1)
|
||||||
|
fmt.Printf("%d, %d, %T, %5t, %#[3]v\n", len(s), cap(s), s, s == nil)
|
||||||
|
fmt.Println("*****************************")
|
||||||
|
fmt.Println("*****************************")
|
||||||
|
fmt.Println("*****************************")
|
||||||
|
fmt.Println("*****************************")
|
||||||
|
fmt.Println("*****************************")
|
||||||
|
|
||||||
|
a := [...]int{1, 2, 3}
|
||||||
|
|
||||||
|
b := a[:1]
|
||||||
|
|
||||||
|
c := b[:2]
|
||||||
|
|
||||||
|
fmt.Printf("a[%p] = %v\n", &a, a)
|
||||||
|
fmt.Printf("b[%p] = %[1]v\n", b)
|
||||||
|
fmt.Printf("c[%p] = %[1]v\n", c)
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user