Go语言学习 _基础03 _数组和切片
1、数组
package array_test
import "testing"
func TestArrayInit(t *testing.T){
var arr [3]int
arr1 := [4]int{1,2,3,4}
arr2 :=[...]int{1,2,3,4,5}
arr1[1] = 5
t.Log(arr[1],arr[2])
t.Log(arr1,arr2)
}
func TestArrayTravel(t *testing.T){
arr3 := [...]int{1,2,3,5}
for i := 0; i < len(arr3); i++{
t.Log(arr3[i])
}
for idx,e :=range arr3{
t.Log(idx,e)
}
for _,e :=range arr3{
t.Log(e)
}
}
func TestArraySection(t *testing.T){
arr3 :=[...]int{1,2,3,4}
arr3_sec := arr3[:]
for idx,e :=range arr3_sec{
t.Log(idx,e)
}
arr3_sec = arr3[0:2]
for idx,e :=range arr3_sec{
t.Log(idx,e)
}
}
2、切片
package slice_test
import (
"fmt"
"testing"
)
func TestSliceInit(t *testing.T) {
var s0 []int
t.Log(len(s0), cap(s0))
s0 = append(s0, 1)
t.Log(len(s0), cap(s0))
s1 := []int{1, 2, 3, 4}
t.Log(len(s1), cap(s1))
s2 := make([]int, 3, 5)
t.Log(len(s2), cap(s2))
t.Log(s2[0], s2[1], s2[2])
s2 = append(s2, 1)
t.Log(len(s2), cap(s2))
t.Log(s2[0], s2[1], s2[2], s2[3])
}
func TestSliceGrowing(t *testing.T) {
s := []int{}
for i := 0; i < 10; i++ {
s = append(s, i)
t.Log(len(s), cap(s))
t.Log(s)
fmt.Println()
}
}
func TestSliceShareMeory(t *testing.T) {
year := []string{"Jan", "Feb", "Mar", "Arp", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}
Q2 := year[3:6]
t.Log(Q2, len(Q2), cap(Q2))
summer := year[5:8]
t.Log(summer, len(summer), cap(summer))
summer[0] = "Unknow"
t.Log(Q2)
t.Log(year)
}
func TestSliceComparing(t *testing.T) {
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义