Go语言学习Day2

Day1总结:

  • Go语言相对Python更针对于WEB开发,并且更适用于并发场景
  • Go语言是强类型语言,每个变量对应的类型不可随意改变
  • Go语言语法严谨,格式清晰
  • Go语言没有While循环,只有for循环
  • Go语言中,每个程序都有入口与出口,少期中一个便会报语法错误

Day2:

数组:

//数组声明:

func TestArrayInit(t *testing.T) {

        arr := [3]int         //含有3个元素的数组

        arr1 := [4]int{1,2,3,4} //含有4个元素的数组,初始化并且赋值

arr2 := [...]int{1,3,5,6,8} //含有n个数值的数组,长度等于赋值

}

//数组遍历:

func TestArrayTravel(t *testing.T) {

arr1 := [...]int{1,3,5,7,9}

for i := 0; i < len(arr1); i ++ {

t.Log(arr1[i])

}

}

Go语言的切片并不支持[::-1]操作

cap:代表数组容量

len:代表可访问的长度

cap的扩容机制,如果容量小于1024,则是当前容量*2,如果判断容量大于1024,则扩容为当前容量的1.25。

两个相同引用的切片采取的是共享内存机制。

make:创建语句,重要

Map:

Map类似于Python的字典,采用key:value形式储存数据

不同的地方在于,Map需要事先声明Map的类型,如果遇到key对应value不存在,则自动赋值为0

P.S, 如果对应的key没有被创建,是通不过判断的

func TestAccessNotExistsingKey(t *testing.T) {
	m1 := map[int]int{}
	t.Log(m1[1])
	m1[2] = 0
	t.Log(m1[2])
	// m1[3] = 0 当m1没有被创建时,判断会走向else而不会返回0
	if v, ok := m1[3]; ok {
		t.Logf("key 3 value is %d", v) //相反,如果m1[3]被创建时,则返回0
	} else {
		t.Log("Key 3 is not existing")
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值