今天参加了一个挑战,从零开始GO语言,一周时间用GO语言开发一个串口示波器。
目前没有接触过GO语言,只会C/C++,从零开始学GO,预计8小时速成。
学习视频用这个:学习视频
GO语言好处:简单易用。
大厂开路,有C基础容易起飞。
目标
GO语法:
GO语言的变量
类似于C语言的枚举:
返回两个值:
init和import导包
类似于include,在GO中叫导包
基本指针(学过C可以跳过)
defer(不是define)
以压栈形式最后执行。(大致就是在函数中设置一块栈,先执行先压进去,函数运行玩之后,在出栈,先进压在最后出)
遵循先进后出原则。
return后的语句先执行。defer最后执行。
for循环:
len计算数组长度:
数组长度要匹配
//传递的是引用传递,传的是指针(类似于数组名,类型是int[])
slice的四种方法:
%v是打印出变量variable的意思,连带输出[]。
四种声明slice的方式:
靠make()添加
slice切片追加与截取:
容量和长度是不一样的,
长度确实是3,但是容量是不合法的指针ptr外的值(由make第三个参数来决定),想要操作后面第一个个,得用append(切片名[],2)意思是向切片名追加一个值,为2,
再用append(切片名[],3)即可追加为操作第五个容量的数据,当到了第五个以上,再用append(切片名[],2)即可为开辟长度容量了,开辟大小为之前的cap的容量(一次性开辟了5个,在寸土寸金的单片机flash可不兴这么玩)
copy函数:
map的三种声明定义:
现在这个是一个空map(==nil(相当于中的NULL))
map用法: