关闭
当前搜索:

[置顶] Go入门教程

基础编程 01、Go语言介绍 02、环境搭建 03、第一个Go程序 04、命名、变量、常量 05、基础数据类型 06、格式化输出、类型转换、类型别名 07、运算符 08、流程控制 09、自定义函数 10、递归函数、函数类型、匿名函数与闭包 11、延迟调用defer 12、获取命令行参数 13、作用域 14、包 15、工程管理 复合类型 类型 名称...
阅读(25707) 评论(1)

[置顶] 本人录制的视频资源(C/C++、Qt、Linux等)

即将推出Go开发实战视频,持续更新……编程语言 C语言开发实战:http://pan.baidu.com/s/1qXAP4x2 C语言贪吃蛇:https://pan.baidu.com/s/1pLRZIuJ C提高:https://pan.baidu.com/s/1bEaK6E C++11新特性学习:https://pan.baidu.com/s/1eRHTS1W GUI编程 Qt图形界面编程1:h...
阅读(27648) 评论(0)

[置顶] C++11新特性学习

01、类型推导 02、初始化 03、基于范围的for循环、静态断言 04、noexcept修饰符、nullptr、原生字符串字面值 05、强类型枚举 06、常量表达式 07、用户定义字面量 08、强类型枚举 09、类的改进 10、defaulted 和 deleted 函数...
阅读(32622) 评论(0)

[置顶] protobuf入门教程

1、简介和安装2、消息类型3、proto3 与 proto2 的区别4、常用序列化/反序列化接口5、repeated限定修饰符6、枚举(enum)、包(package)7、导入定义(import)...
阅读(37908) 评论(0)

[置顶] 为什么你要写博客?

我知道现在可能说这话有点不合时宜,毕竟博客时代都已经过去了,再号召大家用过就好像时的东西是不是有点逆流而上? 我曾经也问过自己这个问题,但是我觉得,博客时代过去跟我们要开博客是没有多大关系的,就好像你的读书时代已经过去你就不再读书一样。 判断一件事情值不值得去做有一个方法:在一张白纸的左边写不值得做的原因,然后在右边写值得做的原因,写完一比较,一权衡,自然能够得出结果。 大家都成年人了,你会觉得这样思考分析总结的过程才是正确的思考的方法吧? 所以,我在这里列出要写(独立)博客的原因,供大家去选择,然后填在你...
阅读(21866) 评论(4)

[置顶] 一步步学习Linux多任务编程

01、什么是系统调用? 02、Linux系统调用之I/O操作(文件操作) 03、文件描述符的复制:dup(), dup2() 04、进程的介绍 05、Linux可执行文件结构与进程结构 06、多进程实现多任务(一):fork() 07、多进程实现多任务(二):vfork() 08、进程的控制:结束进程、等待进程结束 09、Linux特殊进程之僵尸进程 10、Linux特殊进程之孤儿进程 11、Linux特殊进程之守护进程 12、进程替换:exec函数族...
阅读(52620) 评论(7)

[置顶] Linux高级网络开发奇妙之旅

01、Linux网络编程1——网络协议入门 02、Linux网络编程2——无连接和面向连接协议的区别 03、Linux网络编程3——编程准备:字节序、地址转换 04、Linux网络编程4——套接字的介绍 05、Linux网络编程5——C/S和B/S架构的区别 06、Linux网络编程6——UDP编程 07、Linux网络编程7——广播...
阅读(77751) 评论(9)

[置顶] 一步步学习Linux开发环境搭建与使用

00、Linux开发环境搭建与使用1——Linux简史 01、Linux开发环境搭建与使用2——Linux系统( ubuntu )安装方案 02、Linux开发环境搭建与使用3——通过虚拟机安装系统( ubuntu ) 03、Linux开发环境搭建与使用4——ubuntu更新设置 04、Linux开发环境搭建与使用4——Linux必备软件之Samba 05、Lin...
阅读(32444) 评论(5)

[置顶] C语言也能做界面:踏上GTK+学习之旅

00、背上行囊1——程序员学习之道 01、背上行囊2——GUI概述 02、背上行囊3——GTK简介 03、背上行囊4——GTK环境搭建( Linux ) 04、背上行囊5——GTK环境搭建( windows ) 05、踏上旅途1——一个简单的空白窗口 06、踏上旅途2——控件的添加 04、踏上旅途1——一个简单的空白窗口 05、踏上旅途2——控件的添加 06、踏上旅途3——布局容器之水平布局 07、踏上旅途4——布局容器之垂直布局 08、踏上旅途5——布局容器之表格布...
阅读(50279) 评论(3)

Go基础编程:HTTP编程

Go语言标准库内建提供了net/http包,涵盖了HTTP客户端和服务端的具体实现。使用net/http包,我们可以很方便地编写HTTP客户端或服务端的程序。 1 HTTP服务端 示例代码: package main import ( "fmt" "net/http" ) //服务端编写的业务逻辑处理程序 //hander函数: 具有func(w http.Res...
阅读(1056) 评论(0)

Go基础编程:HTTP报文浅析

1 概述 1.1 Web工作方式 我们平时浏览网页的时候,会打开浏览器,输入网址后按下回车键,然后就会显示出你想要浏览的内容。在这个看似简单的用户行为背后,到底隐藏了些什么呢? 对于普通的上网过程,系统其实是这样做的:浏览器本身是一个客户端,当你输入URL的时候,首先浏览器会去请求DNS服务器,通过DNS获取相应的域名对应的IP,然后通过IP地址找到IP对应的服务器后,要求建立TCP连接...
阅读(1046) 评论(0)

Go基础编程:Socket编程

1 什么是Socket Socket起源于Unix,而Unix基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。Socket就是该模式的一个实现,网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用:Socket(),该函数返回一个整型的Socket描述...
阅读(1053) 评论(0)

Go基础编程:网络概述

1 网络协议 从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。 假设,A、B双方欲传输文件。规定: 第一次,传输文件名,接收方接收到文件名,应答OK给传输方; 第二次,发送文件的尺寸,接收方接收到该数据再次应答一个OK; 第三次,传输文件内容。同样,接收方接收数据完成后应答OK表示文件内容接收成功。 由此,无论A、B之间传递何种文件,都是通过三次数据传输来完成。A...
阅读(1415) 评论(0)

Go基础编程:文件操作

1 相关api介绍 1.1 建立与打开文件 新建文件可以通过如下两个方法: func Create(name string) (file *File, err Error) 根据提供的文件名创建新的文件,返回一个文件对象,默认权限是0666的文件,返回的文件对象是可读写的。 func NewFile(fd uintptr, name string) *File 根据文件描述符创建相...
阅读(3766) 评论(0)

Go基础编程:JSON处理

JSON (JavaScript Object Notation)是一种比XML更轻量级的数据交换格式,在易于人们阅读和编写的同时,也易于程序解析和生成。尽管JSON是JavaScript的一个子集,但JSON采用完全独立于编程语言的文本格式,且表现为键/值对集合的文本描述形式(类似一些编程语言中的字典结构),这使它成为较为理想的、跨平台、跨语言的数据交换语言。 开发者可以用 JSON 传输...
阅读(1207) 评论(0)

Go基础编程:正则表达式

正则表达式是一种进行模式匹配和文本操纵的复杂而又强大的工具。虽然正则表达式比纯粹的文本匹配效率低,但是它却更灵活。按照它的语法规则,随需构造出的匹配模式就能够从原始文本中筛选出几乎任何你想要得到的字符组合。 Go语言通过regexp标准包为正则表达式提供了官方支持,如果你已经使用过其他编程语言提供的正则相关功能,那么你应该对Go语言版本的不会太陌生,但是它们之间也有一些小的差异,因为Go实现的是...
阅读(1157) 评论(0)

Go基础编程:字符串处理

本文转自:https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/07.6.md 字符串在开发中经常用到,包括用户的输入,数据库读取的数据等,我们经常需要对字符串进行分割、连接、转换等操作,我们可以通过Go标准库中的strings和strconv两个包中的函数进行相应的操作。 1 字符串操作 下面...
阅读(48) 评论(0)

Go基础编程:并发编程—select

1 select作用 Go里面提供了一个关键字select,通过select可以监听channel上的数据流动。 select的用法与switch语言非常类似,由select开始一个新的选择块,每个选择条件由case语句来描述。 与switch语句可以选择任何可使用相等比较的条件相比, select有比较多的限制,其中最大的一条限制就是每个case语句里必须是一个IO操作,大致的结构如下:...
阅读(80) 评论(0)

Go基础编程:并发编程—channel

goroutine运行在相同的地址空间,因此访问共享内存必须做好同步。goroutine 奉行通过通信来共享内存,而不是共享内存来通信。 引⽤类型 channel 是 CSP 模式的具体实现,用于多个 goroutine 通讯。其内部实现了同步,确保并发安全。 1 channel类型 和map类似,channel也一个对应make创建的底层数据结构的引用。 当我们复制一个channel...
阅读(64) 评论(0)

Go基础编程:并发编程—goroutine

1 goroutine是什么 goroutine是Go并行设计的核心。goroutine说到底其实就是协程,但是它比线程更小,十几个goroutine可能体现在底层就是五六个线程,Go语言内部帮你实现了这些goroutine之间的内存共享。执行goroutine只需极少的栈内存(大概是4~5KB),当然会根据相应的数据伸缩。也正因为如此,可同时运行成千上万个并发任务。goroutine比thre...
阅读(234) 评论(0)

Go基础编程:并发编程—概述

1 并行和并发 并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。 并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。 并行是两个队列同时使用两台咖啡机 并发是两个队列交替使用一台咖啡机...
阅读(50) 评论(0)

Go基础编程:反射

本文转自:https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/02.6.md Go提供了一种机制在运行时更新变量和检查它们的值,调用它们的方法,和它们支持的内在操作,但是在编译时并不知道这些变量的类型,这种机制被称为反射。反射也可以让我们将类型本身作为第一类的值类型处理。我们一般用到的包是refl...
阅读(63) 评论(0)

ubuntu下添加新用户、解决远程登录问题

1 添加新用户1.1 添加新用户sudo useradd go -d /home/go -m #第一个go,指用户名 #-d /home/go 指定用户登录系统时的主目录,宿主目录 #-m 如果/home/go路径不存在,自动创建1.2 查看新建的用户cat /etc/passwd | grep go1.3 给新用户设置密码sudo passwd go2 新用户增加sudo权限在使用Linux系统过...
阅读(232) 评论(0)

Go基础编程:异常处理(error接口、panic、recover)

1 error接口Go语言引入了一个关于错误处理的标准模式,即error接口,它是Go语言内建的接口类型,该接口的定义如下:type error interface { Error() string }Go语言的标准库代码包errors为用户提供如下方法:package errorstype errorString struct { text string }func New(t...
阅读(420) 评论(0)

Go基础编程:获取命令行参数

本文转自:http://blog.csdn.net/mchenys/article/details/50991165package mainimport ( "fmt" "os" //os.Args所需的包 )func main() { args := os.Args //获取用户输入的所有参数 //如果用户没有输入,或参数个数不够,则调用该函数提示用户...
阅读(102) 评论(0)

Go基础编程:延迟调用defer

1 defer作用 关键字 defer ⽤于延迟一个函数或者方法(或者当前所创建的匿名函数)的执行。注意,defer语句只能出现在函数或方法的内部。 func main() { fmt.Println("this is a test") defer fmt.Println("this is a defer") //main结束前调用 /* 运行结果...
阅读(323) 评论(0)

Go基础编程:面向对象—接口

1 概述 在Go语言中,接口(interface)是一个自定义类型,接口类型具体描述了一系列方法的集合。 接口类型是一种抽象的类型,它不会暴露出它所代表的对象的内部值的结构和这个对象支持的基础操作的集合,它们只会展示出它们自己的方法。因此接口类型不能将其实例化。 Go通过接口实现了鸭子类型(duck-typing):“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以...
阅读(419) 评论(0)

Go基础编程:面向对象—方法

1 概述在面向对象编程中,一个对象其实也就是一个简单的值或者一个变量,在这个对象中会包含一些函数,这种带有接收者的函数,我们称为方法(method)。 本质上,一个方法则是一个和特殊类型关联的函数。一个面向对象的程序会用方法来表达其属性和对应的操作,这样使用这个对象的用户就不需要直接去操作对象,而是借助方法来做这些事情。在Go语言中,可以给任意自定义类型(包括内置类型,但不包括指针类型)添加相应的方...
阅读(270) 评论(0)
347条 共18页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:880098次
    • 积分:11730
    • 等级:
    • 排名:第1510名
    • 原创:267篇
    • 转载:71篇
    • 译文:9篇
    • 评论:282条
    相关声明
    博客专栏
    最新评论