201802-28 Golang学习笔记(3)---go语言变量、常量的定义及赋值 NEW 单个变量的赋值与声明变量的声明格式:var <变量名称> <变量类型>变量的赋值格式:<变量名称> = <表达式>声明的同时赋值:var <变量名称> [变量类型] = <表达式><变量名> := <变量值> --->只能在函数体内使用多个变量的复制与声明全局变量的声明可以使用var()的方式简写全局变量的声明不可以省略var,但可使用并行的方式所有变量都可以使用类型推... Read More >
201802-27 Golang学习笔记(2)---go语言基本类型 NEW 布尔型:bool长度1字节取值范围:true,false注意:不可以用数字代表true或false整型:Int根据平台可能为32为或64位 8位整型:int8/uint8长度:1字节取值范围:-127~127,0~255byte 字节型 其实就是 uint8的别名 16位整型:int16/uint16长度:2字节取值范围:-32768~32768,0~65535 32位整型:int32/uint32长度:4字节rune就是int32的别名 浮点型:float32/fl... Read More >
201802-25 Go语言学习 NEW 一 应用场景描述 为什么想着要学习一下Go语言?现在越来越多有名的开源项目都是使用Go语言开发的,所以了解一下Go语言的基础知识还是很有必要的。平时的工作中主要使用Shell和Python来编写运维脚本。之前已经看过无数次关于Go语言的介绍和分享帖子了。对于Go语言这种性能仅次于C和C++的后起之秀,同时又比Python这种胶水语言性能提高不少。如果以后工作中如果有需要处理性能方面的问题就可以使用Go来编写。二 使用Go语言编写的项目 目前比较出名的使用Go语言编写的项目有:... Read More >
201802-24 go语言创建新进程过程详解一(os.StartProcess源码分析,一下代码全部来源于go1.4.2源码) 关于如何使用go语言实现新进程的创建和进程间通信,我在网上找了不少的资料,但是始终未能发现让自己满意的答案,因此我打算自己来分析这部分源代码,然后善加利用,并且分享给大家,期望大家能从中获得启发。首先我们来看一段代码proc, _ := os.StartProcess(name, args, attr)if err != nil {fmt.Println(err)}_, err = proc.Wait()if err != nil {fmt.Println(err)}我们来看... Read More >
201802-23 Go语言中调用C语言----类型转换篇 1. 基本类型转换较简单,直接用强制类型转换就可以,如下:Go转换成C: var i int ci := C.int(i) C转换成Go: var i C.int goi := int(i)2. 字符串类型转换也不是很难,有一点需要注意,就是在将C语言中的char数组转换成Go的string时需要做一点小修改,如下:Go转换成C: var str string cstr := C.CString(str) C转换成Go: /* #include <stdlib.h&... Read More >
201802-22 让GXUI运行起来(一) GXUI这个名字我没有细细追究,也不用追究,我理解就是GO+X+UI,综合理解就是:GO语言在X平台上的UI界面库。用人话就是说:多平台界面库。 那么,现在让我们来架设这个库,并且让他运行起来吧,这可以为我们以后的改造和学习打下基础。 我架设的平台有两个:一个是:Windows10 + liteide + gxui. 另一个是:Windows10 + sublimetext + gxui.这两个平台都是架设在WIN平台下的,为什么... Read More >
201802-21 GO语言资源集 学习GO语言https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/directory.mdhttp://qingkechina.blog.51cto.com/5552198/1681419 WEB编程https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/02.2.md demoshttps://gobye... Read More >
201802-20 go语言编程音乐库代码 go语言编程书上有一些代码有误和遗漏的地方,这里就行了修改与加如了一小段代码。---开始,我也搜个百度,大多都是一样的,而且在remove代码块还是有些问题(不能是传name)。好吧!!不多说了.下面展示所有的代码。------------------------------------------------------------------------------------------------------先贴入口文件.mplayer.gopackage main... Read More >
201802-18 GO语言开源项目 云计算领域: 容器相关:runc, docker, coreos, codetainer, kitematic 微服务:自动化部署/服务发现/调度器/etc : flynn, tsuru, deis, otto, terraform, skydock nomad, kubernetes 其他:skydns,gryffin(web 安全), bosun(监控)开发框架: web 框架:utron... Read More >
201802-17 go语言的环境变量 在命令提示符下输入 go envset GOARCH=amd64 //CPU的架构 set GOBIN= //工作目录下的BIN文件夹 set GOEXE=.exe set GOHOSTARCH=amd64 //想要交叉编译的CPU架构 set GOHOSTOS=windows //想要交叉编译的操作系统 set GOOS=windows //当前的操作系统 set GOPATH=D:gopath //工作目录 set GORACE= set GOROOT=C:Go //安装... Read More >
201802-14 go基本数据类型与运算符 go基本数据类型与运算符GO基本类型1.布尔(bool) 长度:1字节 取值范围:true,false 注意事项:不可用数字代表true或false2.整型(int/uint) 根据平台 肯能为32位或64位3. 8位整型:int8/uint8 长度:1字节 取值范围:-128~127/0~2554.字节型 :byte(uint8别名)5. 16位整型:int16/uint16 长度:2字节 取值范围:-32768~32767/0~655356. 32... Read More >
201802-12 【Go语言】【18】GO语言的select 一、selectGo语言引入了select关键字,其语法与switch非常类似,先看一个switch例子:func main() { var a int = 1 switch { case a == 1: fmt.Println("ok") case a == 2: fmt.Println("no... Read More >
201802-11 【Go语言】【17】GO语言杂谈 本章节原想进一步写并写的相关知识,但今天不在状态临时改为杂谈,原因有二我也想静静 (参见秋裤大叔)对前面没有涉及到的问题给一个交待一、安装Git 当下是一个开源的时代,经常遛论坛的朋友肯定会遇到不少开源的组件、框架等,比如前端JS有Angular服务端框架有Spring数据库有Cockroach DB云计算的PaaS有Cloud Foundary 就连GO都是开源语言,谢大针对GO搞了一个Beego框架等等,不胜枚举...... 既然有这么多的开源,那总得有一... Read More >
201802-10 【Go语言】【16】GO语言的并发 在写该文之前一直犹豫,是把Go的并发写的面面俱到显得高大尚一些,还是简洁易懂一些?今天看到一个新员工在学习Java,突然间想起第一次接触Java的并发时,被作者搞了一个云里雾里,直到现在还有阴影,所以决定本文从简。哈哈,说笑了,言归正传。 Go的并发真的很简单,所以本文不罗嗦进程、线程、协程、信号量、锁、调度、时间片等乱七八糟的东西,因为这些不影响您理解Go的并发。先看一个小例子:package mainimport "fmt"func Add(i,... Read More >
201802-10 【Go语言】【15】GO语言的面向对象 GO是不是面向对象的语言?GO作者如是说:“是,也不是。”正如前面所说:GO是一种面向类型的语言,它有类型和方法,但没有类的概念,程序员可以用一种面向对象的风格(或者说是方式)来编程,下面我们从封装性、继承性和多态性三大面向对象的特性谈谈GO语言1、封装性 面向对象的语言中,“类”是基本单位,它把属性、方法局限在“类”中,并对外提供公共方法让使用者操作对象。当然这一过程离不开修饰符:public、protected、private等。 GO语言如何实现... Read More >
201802-08 【Go语言】【14】GO语言的接口类型 1、什么是接口?在面向对象的语言中,接口是用来限制实现类行为的。怎么理解这句话呢?定义一个Person接口,我只会站在我的角度上考虑问题,比如Person(人),自然想到会吃饭、睡觉等:interface Person{ // 人会吃饭 void eat(); // 人会睡觉 void sleep();}我是站在接口角度上考虑接口如何定义,此时不会过多考虑实现类的行为。这很正常,因为我不能确定谁会使用我的接口,有一天SuperMan说:... Read More >
201802-07 【Go语言】【13】再谈GO语言的结构体 本文从如下四个方面再领着大家认识结构体匿名结构体和匿名成员的结构体值传递和引用传递再谈嵌套结构体面向对象1、匿名结构体和匿名成员的结构体如上篇所述,一个结构体需要先声明,再初始化,最后把初始化后的结构体赋值给其它变量,例如:/*声明结构体*/type employee struct{ name,address string height,weight float64}/*初始化结构体,并赋给变量emp*/emp := employee{name:"... Read More >
201802-06 【Go语言】【12】GO语言的结构体 当我第一次接触到C语言时,就对结构体投入了极大的兴趣,认为这个东西以后大有作为,后来接触Java、C++,面向对象编程中的对象进入我的视线,经过了这么多年的磨练,回过头来再看结构体依旧是那么亲切;同时从另一个角度上看结构体与面向对象中的成员对象是多么的相像 :)一、结构体元素结构体由关键字、结构体类型名称和具体成员构成,如下:二、结构体初步认识下面通过对比数组(复合类型)来了解一下结构体:1、从存储类型来看数组只能存储相同的类型:s := []string{"a... Read More >
201802-05 【Go语言】【11】GO语言的包和函数 还记得《【2】Sublime配置GO开发环境》的入门例子吗?当然不记得了:) 这篇文章距离上篇时间太久远了,遥远的我都快忘记了。还是把截图贴上吧该例子中的func main()表示这是一个名称叫main的方法,而package main表示这个方法在main包内,这两部分的内容就是本节要分享的知识。这么简单?是的,简单而不简约,呵呵,接着往下看! 开发一个应用系统,考虑到代码的可读性,往往会把代码拆分到不同的包,再给包起一个好记的名字,这样一眼就能明白该包的用途... Read More >