抽空学学go

2024年5月9日11:14:24

学习go

看课8小时转职Golang工程师(如果你想低成本学习Go语言)_哔哩哔哩_bilibili

文档8小时转职Golang工程师 (yuque.com)
1.安装go
在这里插入图片描述

2024年5月9日11:27:16
2.安装 vscode go配置环境
vs code配置go开发环境 (zhihu.com)
vscode里面配置代理,然后重启,再安装go的工具包
$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.io,direct

3.Golang语言特性
go 优势
•方便(直接编成机器码
•静态语言
•语言层面的并发(不是通过上层一层一层包装出来的并发
•标准库 runtime gc 其他各式各样的库
明星产品(docker、k8s)
劣势
•包托管在私人的github上面 ,不安全
•只有error
•对c的降级处理并不完美
4.语法
hello world
在这里插入图片描述
在这里插入图片描述

5.声明变量
package main

import “fmt”

var err string = “20”
var publicVariable = 10

func main() {
var a int = 10
//var a = 20
// a:= 20

fmt.Println(a)
fmt.Printf("%T\n", a)
b := "happy"
fmt.Println(b)
fmt.Printf("%T\n", b)

fmt.Println(publicVariable)
fmt.Printf("%T\n", publicVariable)

fmt.Println(err)
fmt.Printf("%T\n", err)

}
四种方式,全局变量不能用 “:=”
6.const 常量 iota
只能在const里面使用的 iota
按照行进行递增的
7.返回值
具名返回值
(入参)(返参 形参)那里写好名字
返参赋好值
return(只是结束)
8.import 包路径
写完整路径,然后调用方法,会先去包的init方法,然后返回,在执行相应的方法。
记得 暴露出去的方法名 首字母要大写,否则就是private的
9.匿名
因为语法 不能只引用而不用。
一些场景下需要只是用init方法,
. 的话
在这里插入图片描述

defer ==finally
就是写在方法之前的关键字
defer 在return之后执行
执行顺序也是栈式的,先进后出

切片本身就是指向数组当前位置的一个指针
slice是个 切片(取数逻辑和python的差不多)然后make([]int,3,5)3是大小,5是容量,下次扩容的大小,追加元素使用append
然后可以使用copy作为深拷贝

range就和java里的iterator一样,迭代器一样。

go就是把赋值的类型放在后面了
java里面也都是值传递,但是没有指针这个东西,直接修改的就是对象。go这个不行

项目

解决:win下安装netcat安装及使用 - 简书 (jianshu.com)

Go 语言 cannot find module providing package github.com/_golang cannot find module providing package import-CSDN博客

在这里插入图片描述
在这里插入图片描述

两行命令搞定powershell utf-8乱码_powershell 乱码-CSDN博客

在这里插入图片描述

在这里插入图片描述

总结

挺有趣的,很轻量。
channel的存在确实是顶中顶,先学go,再去学那些消息中间件,应该会更容易理解一些。

(但也不知道是不是写的东西太简单了,可能老师给的这个项目就是类似于 当时c++写的机票管理系统一样的存在吧)

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值