不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:Albert.Wen  添加时间:2017-10-29 09:55:54  修改时间:2024-04-24 04:10:18  分类:Golang/Ruby  编辑
作者:Albert.Wen  添加时间:2017-10-29 10:24:50  修改时间:2024-05-16 12:06:15  分类:Golang/Ruby  编辑

Glide 是 Golang 的 Vendor 包管理器,方便你管理 vendor 和 verdor 包。类似 Java 的 Maven,PHP 的 Composer。

主要特性:

  • 简单管理依赖

  • 支持 versioning packages,包括 Semantic Versioning 2.0.0 支持

  • 支持 aliasing packages (e.g. for working with github forks)

  • Remove the need for munging import statements

  • 支持所有 go 工具

  • 支持 VCS 工具和 Go 支持:git、bzr、hg、svn

  • 支持定制本地和全局插件 (see docs/plugins.md)

  • 仓库缓存

作者:Albert.Wen  添加时间:2018-07-12 12:36:26  修改时间:2024-05-20 10:37:05  分类:Golang/Ruby  编辑

从零开始写Go网络通信框架

(1)基本的Socket Client/Server的编写    http://blog.csdn.net/mypc2010/article/details/73432246

(2)自定义通讯协议   http://blog.csdn.net/mypc2010/article/details/73471274

(3)对长连接的处理   http://blog.csdn.net/mypc2010/article/details/73571746

(4)全双工收发消息   http://blog.csdn.net/mypc2010/article/details/73650049

(5)断线重连   http://blog.csdn.net/mypc2010/article/details/78276702

作者:Albert.Wen  添加时间:2017-10-29 20:44:45  修改时间:2024-05-01 12:40:11  分类:Golang/Ruby  编辑

基本构成要素

Go 的语言符号 又称 词法元素,共包括 5 类内容——标识符(identifier)、关键字(keyword)、字面量(literal)、分隔符(delimiter) 和 操作符(operator),它们可以组成各种表达式 和 语句,而后者都无需以分号结尾。

作者:Albert.Wen  添加时间:2017-10-27 12:55:20  修改时间:2024-05-06 17:47:34  分类:Golang/Ruby  编辑

这一章我们主要介绍了Go语言的一些语法,通过语法我们可以发现Go是多么的简单,只有二十五个关键字。让我们再来回顾一下这些关键字都是用来干什么的。

break    default      func    interface    select
case     defer        go      map          struct
chan     else         goto    package      switch
const    fallthrough  if      range        type
continue for          import  return       var

作者:Albert.Wen  添加时间:2017-10-27 13:02:18  修改时间:2024-05-19 11:52:12  分类:Golang/Ruby  编辑

Go变量 初始化

复合类型(数组、切片、字典、结构体)变量的初始化是,有一些语法限制:

1、初始化表达式必须包含类型标签

2、左花括号必须在类型尾部,不能另起一行;

3、多个成员初始值以逗号分隔;

4、允许多行,但每行须以逗号 或 右花括号结束;

作者:Albert.Wen  添加时间:2017-10-29 10:12:43  修改时间:2024-05-19 11:15:22  分类:Golang/Ruby  编辑

执行 go clean 命令会删除掉执行其它命令时产生的一些文件和目录,包括:

  1. 在使用 go build 命令时在当前代码包下生成的与包名同名或者与Go源码文件同名的可执行文件。在Windows下,则是与包名同名或者Go源码文件同名且带有“.exe”后缀的文件。

  2. 在执行 go test 命令并加入 -c 标记时在当前代码包下生成的以包名加“.test”后缀为名的文件。在Windows下,则是以包名加“.test.exe”后缀为名的文件。我们会在后面专门介绍 go test 命令。

作者:Albert.Wen  添加时间:2017-10-29 21:06:51  修改时间:2024-05-02 23:49:18  分类:Golang/Ruby  编辑

Java 中的集合(set)去重很方便,PHP 中的数组值去重,就更加方便,一个函数搞定:array_unique(),Golang 中就比较苦逼了,官方没有提供对“切片去重”的功能,而项目中,又经常用到这个功能,,我们可以模拟 Java 集合的功能,实现 Golang 版集合的同时,顺便把 去重 和 排序 做了,它的主要实现原理是:利用 map 数据 不允许键重名 的特点,参考代码如下:

作者:Albert.Wen  添加时间:2017-10-29 20:37:40  修改时间:2024-05-20 13:04:11  分类:Golang/Ruby  编辑

Golang 判断文件是否存在有点怪异,是根据在操作文件时返回的错误信息来判断的,而不能直接根据路径判断

版本1:

func IsExists(path string) (bool, error) {
	_, err := os.Stat(path)
	if err == nil {
		return true, nil
	}
	if os.IsNotExist(err) {
		return false, nil
	}
	
	return false, err
}
作者:Albert.Wen  添加时间:2017-10-29 20:54:41  修改时间:2024-05-13 03:37:50  分类:Golang/Ruby  编辑
package main

import "fmt"

// 用户
type User struct {
	Id   int
	Name string
	Age  int
}

func main() {
	user := User{Id:2, Name:"golang"}

	// 打印 结构体
	fmt.Printf("%+v", user)

	// 输出换行符
	fmt.Printf("\n")

	// 判断实例是否为空
	fmt.Println(user == User{})
}

输出:

{Id:2 Name:golang Age:0}
false