排序算法

Algorithms 分类文章,为了在下次又忘记又想想起来的时候,稍微快速的回想一下。

排序方法很多,仔细想想还是快排最实用
冒泡排序、选择排序、桶排序、快速排序、归并排序、堆排序

群晖 Nas 使用 SSH Key 实现免密登录

最近直观的加上了文章访问统计和整站访问统计,虽然知道肯定没人访问,也就是纯粹加点新功能,但是没想到,关于 Nas 的文章访问量遥遥领先。

承接之前关于 Nas 的文章

开启了 VPN 可以更安全的访问 Nas ,同时我也需要使用 SSH 功能,但是每次使用的时候,都要输入密码,很是麻烦,如果能改成 ssh 免密登录就好了。
本质上跟其他的 linux 服务器设置免密登录原理差不多,稍微有点差别吧。

Go Method Receiver 方法接收器介绍

Go 分类文章,学习笔记,会不定时修改,补充,纠错,增加内容,路漫漫。

Receiver 基本介绍

就是类似于 Class 的 Method,使用 this 或者 self 调用 ?可以这么类比吧,但是并不等同。

看具体的代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
type IntReceiver struct {
X int
}

// 方法接收器声明
func (i IntReceiver) Double() int {
return i.X * 2
}

// 普通函数声明
func IRDouble(i IntReceiver) int {
return i.X * 2
}

func main() {
i := IntReceiver{3}
d1 := i.Double() // 在 i 上调用了 IntReceiver 类型带的 Method // func (i IntReceiver) Double() int
fmt.Printf("type = %T,value = %v\n", d1, d1)

d2 := IRDouble(i) // 调用了普通函数 // func IRDouble(i IntReceiver) int
fmt.Printf("type = %T,value = %v\n", d2, d2)
}

定义 method 并不局限于结构体 struct,可以任何 type 声明的类型定义 Method,最简单如 type DInt int ,就能为 DInt 类型定义 method

Go 运行的初始化

Go 分类文章,学习笔记,会不定时修改,补充,纠错,增加内容,路漫漫。

结论

先上简单结论

  • 初始化依赖包,也就是 import 的包
  • 在同一个包内,在解决依赖顺序的情况下,按照变量、常量出现的顺序依次初始化
  • 按照 init 函数出现的顺序运行
  • 运行 main 函数

Go 程序设计语言 - 笔记

Go 分类文章,学习笔记,会不定时修改,补充,纠错,增加内容,路漫漫。

是我在 2017 年中二刷 《Go 程序设计语言》的重点摘要。

使用了 SF - Notes

这里权当列表展示,最近也翻出来复习一下,查漏补缺。

Go 学习 - 环境设置

Go 分类文章,学习笔记,会不定时修改,补充,纠错,增加内容,路漫漫。

当前环境

  • 设备 MacBook Pro
  • 系统 macOS High Sierra 10.13.6
  • Go 版本 1.10.4

开发工具

Go 安装

  • 源码安装,https://golang.org/dl/ 下载相应的 goVERSION.src.tar.gz 即可
  • 标准包安装
  • 三方工具安装
    • homebrew,mac
    • apt-get、yum,linux
    • gvm

使用 VSCode 开发 Go - 浅尝辄止

Go 分类文章,学习笔记,会不定时修改,补充,纠错,增加内容,路漫漫。

开发 Go 如果懒的折腾就直接上 GoLand 就行了,我就是懒。

不过,这不是本文的目的,毕竟 GoLand 要钱,要内存,要机器性能,要求还蛮高的,相对来说 VSCode 就简单了呀。

使用

默认你已经安装了 VSCode 了
强烈建议,安装命令 [code],在终端打开文件很方便参考

安装 Go 插件

可以查看 Go for Visual Studio Code 相关介绍

只要使用 VSCode 打开任意 .go 文件,就会推荐安装 Go 插件

学习 Go 的经历

Go 分类文章,学习笔记,会不定时修改,补充,纠错,增加内容,路漫漫。

准备在后续瞎写一些关于自己学习 Go 的文章,纯粹的就是学习 Go 的私人笔记,基本没什么营养。