AI练中学功能实践| 豆包MarsCode AI刷题

134 阅读4分钟

简介

作者本人是第一次参加字节的青训营活动,此次青训活动的主打感觉就是AI+教学,不仅提供AI算法刷题模型豆包MarsCode,还在基础教学的环节加入AI练中学功能,所以学习方式和原先发生了不少变化,此文就是我首次使用AI练中学功能的记录贴。

AI练中学是什么?

AI练中学是字节跳动推出的一款学习辅助工具,帮助学生方便的对学习内容进行实践,它跟随课程内容部署,提供课程中代码的执行环境,而无需学生自己配置和部署实验环境,可以实现一键实践的效果,提高学生的学习效率。

点击进入 AI练中学,可以看到教学中所使用的Go语言环境已经被搭建好,并且提供所有的课程配套代码

本次实践学习内容

go语言基础课程内容

此次上课内容来自字节跳动青训营(后端组《Go语言原理与实践(王克纯老师主讲)》。

课程内容覆盖Go语言基础、Go语言的工程实践、Go语言编程建议、以及一些优化和实践案例。

实践记录

  1. go 语言特性

  1. hello world

第一行package main这个代表这个文件属于一个main包的一部分,也是程序的入口文件。第三行开始导入了标准库里的包,主要是用来往屏幕输入输出字符串,格式化字符串。

AI 练中学实践结果:

  1. 变量

常见的变量类型包括字符串、整数、浮点型、布尔型,字符串是内置类型,可以直接通过加号去拼接,也能够直接用=去比较两个字符串,大部分运算符的使用和优先级都和C或者C++很类似。

const 没有确定的类型,它会根据使用的上下文来自动确定类型。

AI 练中学实践结果:

  1. 条件控制

If else和C或者C++很类似,不同点是 if 后面没有括号,条件后面必须直接就大括号。

AI 练中学实践结果:

switch分支结构看起来也和C或者C++比较类似,这里有一个很大的不同点是在C++里面switch case,如果不显示加break,会继续往下跑完,go 的 case分支默认是不需要加的。

AI 练中学实践结果:

  1. 循环

只有唯一的一种 for 循环,最简单的或循环就是在或里面什么都不写,就代表一个死循环。可以用continue来计时循环,也可以用break来跳出循环。

AI 练中学实践结果:

  1. 数组

一个具有编号及长度固定的元素序列,可以存取或者读取特定索引它的值。在真实的业务代码里面,我们很少直接用数组,因为它的长度是固定的。我们更多的时候用的是切片。

AI 练中学实践结果:

  1. 切片

一个可变长度的数组,可以任意更改。有更丰富的操作,可以用make 来创建切片。创建的切片可以像一个数组那样去用,去往里面去写值或者是存储值。切片可以用 append 的去追加元素。

AI 练中学实践结果:

  1. map

在其他编程语言里面,它可能叫做哈希或者字典,可以通过 [] 语法写入KV对,也能通过方法去读取K,通过delete去删除KV。遍历的时候不会按字母顺序,也不会按插入顺序输出,而是一个偏随机的 输出。

AI 练中学实践结果:

  1. range

用range来快速遍历,这样代码能够更加简洁。第一个值是索引,第二个值是对应位置的值。

AI 练中学实践结果:

  1. 函数

变量类型是后置的,里面的函数是原生支持返回多个值。在实际的业务逻辑代码里面,几乎所有的函数都反回多个值。

AI 练中学实践结果:

  1. 指针

指针的一个主要用途就是给传入的参数进行修改。

AI 练中学实践结果:

  1. 结构体

结构体是单类型的字段的集合,在初始化的时候,需要存入每个字段的初始值。

AI 练中学实践结果:

  1. 方法

类似于其他语言里面的类成员函数,实现结构性方法的时候,也会有两种写法,一种就是不带指针,带指针可以避免一些大结构体拷贝的开销。

AI 练中学实践结果:

思维导图: