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() {
|
||||
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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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