2016-05-20 LEo
开发中常需要获取机器的mac地址或者ip,本文通过go获取机器上所有mac地址和ip,详细代码如下: ```go package main import ( "fmt" "net" ) func getMacAddrs() (macAddrs []string) { netInterfaces, err := net.Interfaces() if err != nil { fmt.Printf("fail to get net interfaces: %v", err) return macAddrs } 继续阅读 »
2018-04-27 LEo
本文主要介绍go语言静态库的编译和使用方法,以windows平台为例,linux平台步骤一样,具体环境如下: ``` echo %GOPATH% E:\share\git\go_practice\ echo %GOROOT% C:\Go\ 继续阅读 »
2018-11-22 LEo
1 基础知识 go语言有以下特点: 编译型语言,编译速度快 静态类型语言,拥有动态类型语言特点 类c语法,简单易学 支持gc 语言层面支持并发 跨平台编译 2 著名的go项目: 继续阅读 »
2016-04-09 LEo
刚开始学习go语言的时候,看代码中某个类型实现了Error()方法,然后就可以将该类型赋值给error类型。当时还没学习接口,不懂为什么可以这样赋值。学习接口以后,才明白怎么回事。查看go源码,发现内置类型error其实是一个接口类型,并实现了Error()方法,如下: 继续阅读 »
2017-03-30 LEo
go提供了一个list包,类似python的list,可以存储任意类型的数据,并提供了相应的API,如下: go type Element func (e *Element) Next() *Element func (e *Element) Prev() *Element type List func New() *List func (l *List) Back() *Element func (l *List) Front() *Element func (l *List) Init() *List func (l *List) InsertAfter(v interf 继续阅读 »
2016-07-26 Klaus Ma
最近几天在读Kubernetes的代码,涉及到不少Go语言中需要注意的点;这里记录一下对这些功能的理解: 函数实现 在类定义方面,Go语言通过结构体+函数的形式提供了类的实现机制;比较像早期的g++的实现方式。以下面这个类定义为例: 继续阅读 »
2019-01-19 biezhi
Go 语言也提供了接口类型,使得我们可以面向接口编程,将实现和接口分离。在我看来,软件的抽象之美也应该以此来表达,和 Java 语言不同的是 Go 并不是那么 “强制”,它使用了一种 鸭子类型 的方式让动态类型成为可能。 继续阅读 »
2018-10-26 biezhi
使用任何编程语言开发工程化的项目都缺少不了配置,我们可能要存储一些数据库信息、邮件配置、其他的第三方服务密钥等,而配置文件的类型又有很多种,比如 XML、JSON、YML、INI 等,配置文件又可能分为不同的环境,如 dev、test、prod,这篇文章中带你了解在 Go 中加载配置信息那些事儿。 继续阅读 »
2017-05-23 Renfei Yu
本文主要就go语言的学习发展,总结自己在学习的道路上遇到的问题,同时对学习资源进行归纳总结,以方便共同学习 概述 近年来语言的飞速发展,的确给大家带来一种应接不暇的现象,究竟如何取舍,的确是让人挺纠结的。自从Google宣布,kotlin 作为android开发的首选语言,java的地位能否像以前一样不得而知,但是基于jvm的语言(Groovy,Kotlin)的发展也让大家看到每种语言在处理特定问题的优势;gradle基于groovy,开发新一代的构建工具,个人觉得你极大提高了生产力,在持续集成领域,无疑增加了一剂猛药。可以看到groovy在领域特定语言上的优势。 继续阅读 »
2016-09-02 Alex Sun
最近由于兴趣开始学习Go语言。对于编译型语言,最早接触的是Java,写了三年多,然而自从接触了异常灵活的脚本后就对它再也喜欢不起来。对于C系语言也一直没感觉。后来偶然看了一些Go相关的资料,也接触了一些基于Go编写的开源项目,觉得挺有意思,就学了一些,总的来说,还是比较喜欢Go的。 相比于Java,Go中没有了诸多繁琐的OO概念,接口的设计也非常简洁和解耦合。语法上,介于静态语言和动态语言之间,对于喜欢脚本的人来说,还是比较容易接受。 然后就是不得不提的goroutine,足够轻量和简单易用,比起其他语言中啰啰嗦嗦的一大堆多线程代码,确实更加让人喜欢。 基于Go,实现了一个HTTP请求模块ok。 学习资料 A Tour o 继续阅读 »