1.15go语言基础&实战案例| 青训营笔记day1

63 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 1天今天的主要学习内容是go的基础语法和三个简单实战案例。

Go语言基础

本视频主要介绍了Go语言的特点、开发环境、使用情况和基础语法。

1.Go语言特性

高性能、高并发
语法简单、学习周期短
丰富的标准库
完善的工具链,具备性能优化等许多功能
快速编译
静态链接,可移植性好

Go的特点决定了学习期不像其他语言那么长,可以在较短时间内开始使用Go语言进行开发。 同时可以解决一些使用其他语言带来的问题,比如python有版本依赖问题。

2.开发环境

安装: go.dev/
studygolang.com/dl
goproxy.cn/
IDE: VScode、Goland、基于云环境开发(gitpod.io/#github.com…)

3.基础语法

变量

Go是强类型语言,每一个变量都有变量类型 变量定义:var a = float64(值)a := float64(值)

控制语句

  • if-else
    语法类似C/C++,区别是: 条件不加括号
    if后直接加大括号,不能像C一样把if里边的语句写在同一行
package main

import"fmt"

func  main(){

        if 7%2 == 0 {
        fmt.Println("7 is even")
        }else{
        fmt.Println("7 is odd")
        }
}
  • for
    条件也无括号
  • while
  • 无while使用 for {}+break来代替
  • switch
    case默认有break,不用break可以跳出case,不用跑完其他分支
    可以使用任意的变量类型,可以取代任意的if-else语句

数组

定义:var a = [5]int 初始化:a := [2]int{1,2} 隐式:a := [...]int{1,2} 真实业务多用切片,数组定长,切片长度可变

切片

Go有类似python的切片功能 创建切片有三种方式:
var 切片名 [ ]数据类型
切片名 := [ ]类型{ }
使用make()函数:make(切片类型,长度,容量)

指针

功能有限,主要用途:支持对传入的参数进行修改

结构体

结构体是带类型的字段的集合,定义 type 结构体名 struct{}


除此之外 还包括JSON处理、时间处理、数字解析、进程信息等许多知识点

3.实战案例

猜数:生成随机整数,输入猜测值,输出输入值与生成值的差异,直到猜中为止。
在线词典:命令行版本的词典,实现查询单词,通过第三方API。
SOCKS5:代理服务器,实现授权用户通过单个端口访问内部所有资源。