摘要:
6.2 goroutine 阅读全文
摘要:
Golang 判断文件是否存在有点怪异,是根据在操作文件时返回的错误信息来判断的,而不能直接根据路径判断 版本1: 版本2: 简洁版 阅读全文
摘要:
Go 的 flag 包可以解析命令行的参数。 一、命令行语法 命令行语法主要有以下几种形式: cmd -flag // 只支持bool类型 cmd -flag=xxx cmd -flag xxx // 只支持非bool类型 以上语法对于一个或两个‘-’号是一样的,即 cmd -flag xxx (使 阅读全文
摘要:
Go 语言是一种静态类型的编程语言,所以在编译器进行编译的时候,就要知道每个值的类型,这样编译器就知道要为这个值分配多少内存,并且知道这段分配的内存表示什么。 提前知道值的类型的好处有很多,比如编译器可以合理的使用这些值,可以进一步优化代码,提高执行的效率,减少 bug 等等。 基本类型 基本类型是 阅读全文
摘要:
原文:Fundamentals of concurrent programming 译者:youngsterxyf 本文是一篇并发编程方面的入门文章,以Go语言编写示例代码,内容涵盖: 运行期并发线程(goroutines) 基本的同步技术(管道和锁) Go语言中基本的并发模式 死锁和数据竞争 并行 阅读全文
摘要:
通常情况下,函数向其调用方报告错误的方式都是返回一个 error 类型的值。但是,当遇到致命错误的时候,很可能会使程序无法继续运行。这时,上述错误处理方式就太不适合了,Go 推荐通过调用 panic 函数来报告致命错误。 1. panic 为了报告运行期间的致命错误,Go 内建了专用函数 panic 阅读全文
摘要:
Go 还有一些特有的流程控制语句,其中一个就是 defer 语句。该语句用于延迟调用指定的函数,它只能出现在函数的内部,由 defer 关键字以及针对某个函数的调用表达式组成。这里被调用的函数称为 延迟函数。一个简单的例子如下: 其中,defer 关键字后面是针对 fmt.Println 函数的调用 阅读全文
摘要:
sync.Once.Do(f func()) 是一个非常有意思的东西,能保证 once 只执行一次,无论你是否更换 once.Do(xx) 这里的方法,这个 sync.Once块 只会执行一次。 因此,常用于 单例模式 中! 阅读全文
摘要:
物理主机:Windows 7,虚拟机:CentOS 6.8 1、设置虚拟机的 默认路径:编辑 -> 首选项 -> 设置“虚拟机的默认位置” 2、设置 虚拟网络:编辑 -> 虚拟网络编辑器 注意:桥接到:一个 可上网的网卡,不然,虚拟机内部上不了网! 3、设置虚拟机的网卡类型:虚拟机 -> 设置 -> 阅读全文
摘要:
SSH 证书登录(实例详解) 客户端通过私钥登录 ssh 服务器 CentOS 7 SSH 使用证书登录 使用私钥 ssh 登陆 CentOS 阅读全文
摘要:
执行如下对机拷贝命令 时,报错 RSA host key for 192.168.1.xxx has changed and you have requested strict checking. 解决方案: 阅读全文
摘要:
Git 从远程的分支获取最新的版本到本地有这样 2 个命令: 1. git fetch:相当于是从远程获取最新版本到本地,但不会自动 merge 以上命令的含义: 首先从远程的 origin 的 master 主分支下载最新的版本到 origin/master 分支上 然后比较本地的 master 阅读全文
摘要:
1、svn 转换为 git(会提示,让你输入先前 svn 的账号与密码) 2、添加远程 git 仓库 3、推送代码到远程 git 仓库 特别说明 当执行完 git svn clone svn://IP地址/projectname --no-metadata projectname2 命令后,会在项目 阅读全文
摘要:
[荐] Gitea:Git with a cup of tea,在 Gogs 基础上,发展起来的 自助 Git 服务系统。Gogs是一个个人维护的版本,而Gitea是一个社区组织维护的,版本迭代更新快。 [github] [官网] [二进制安装] 搭建过程如下: 下载二进制包 建议到官网上 下载 执 阅读全文
摘要:
通常,合并分支时,如果可能,Git 会用 Fast forward 模式,但这种模式下,删除分支后,会丢掉分支信息。 如果要强制 禁用 Fast forward 模式,Git 就会在 merge 时生成一个新的 commit,这样,从分支历史上就可以看出分支信息。 下面我们实战一下 --no-ff 阅读全文
摘要:
软件开发中,bug 就像家常便饭一样。有了 bug 就需要修复,在 Git 中,由于分支是如此的强大,所以,每个 bug 都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。 当你接到一个修复一个代号 101 的 bug 的任务时,很自然地,你想创建一个分支 issue-101 阅读全文
摘要:
每次提交,Git 都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在 Git 里,这个分支叫主分支,即 master 分支。HEAD 严格来说不是指向提交,而是指向 master,master 才是指向提交的,所以,HEAD 指向的就是当前分支。 一开始的时候,maste 阅读全文
摘要:
首先要明确一点,对 Git 的操作是围绕 3 个大的步骤来展开的(其实几乎所有的 SCM 都是这样) 这 3 个步骤又涉及到两个 repository,一个是 remote repository,在远程服务器上,一个是 local repository,在自己工作区上。其中 1, 3 两个步骤涉及到 阅读全文