-
golang 文件IO 类型转换
所属栏目:[大数据] 日期:2020-12-16 热度:56
文件IO 1、文件创建 packagemainimport"os"funcmain(){//file,_:=os.Create("test.txt")//返回file结构体内容file,_:=os.OpenFile("test.txt",os.O_RDWR,0666)//返回同上}//执行结果:-rw-r--r--1rootroot183月318:02test.txt 2、文件写入 packagemainimport[详细]
-
Go 标准库介绍一: strings
所属栏目:[大数据] 日期:2020-12-16 热度:174
原文链接 http://ironxu.com/740 本文介绍Go 标准库 strings 常用导出函数,结构体及其方法。 import strings strings 包实现了用于操作字符串的简单函数,包括 strings 导出函数和 Reader , Replacer 两个结构体。 1. strings 常用导出函数 判断字符串与子[详细]
-
golang import使用
所属栏目:[大数据] 日期:2020-12-16 热度:85
相对路径 import "./model" 引用当前目录中的 model ,但是太依赖路项目目录结构,一般不建议这样使用。 绝对路径 import "github.com/grpc" go build将从$GOPATH/src/下查找。 别名操作 import log "fmt" 通过别名可以避免同名包的引用。 点操作 import . "[详细]
-
golang 开发gui,还真有gui的框架,就是做个简单的行
所属栏目:[大数据] 日期:2020-12-16 热度:141
1,关于gui golang 还真的有gui的开发框架。在mac上面好像比较简单。直接用就好。 不知道在其他平台上面咋样。 github项目地址: https://github.com/andlabs/ui/wiki/Getting-Started 起重核心还是使用了:https://github.com/andlabs/libui 在github上面加[详细]
-
Golang笔记之结构体和方法
所属栏目:[大数据] 日期:2020-12-16 热度:188
Golang 中的 struct 有点跟 Java 中的类相似. struct 管他什么特性不特性的,先来段代码.看看跟学过的其他语言有啥区别. package mainimport ( "fmt")type Person struct { name string age int}type Student struct { grade string Person //匿名字段}func m[详细]
-
判断是否为空struct以及清空已经赋值的struct和array及map
所属栏目:[大数据] 日期:2020-12-16 热度:113
清空已经赋值的struct type A struct { Name string Level int}type B struct { Skill string}func main() { a := A{"Momo",1} b := B{"Starfall"} // outputs // {"Momo",1} // {"Starfall"} clear(a) clear(b) // outputs // {,0} // { }}func clear(v int[详细]
-
grpc(4):使用 golang 调用consul api 接口,注册user-tomcat
所属栏目:[大数据] 日期:2020-12-16 热度:115
1,关于consul dubbo的注册中心是zookeeper,redis。 motan的注册中心是zookeeper,consul。 kubernetes的注册中心是 etcd。 使用consul的好处是服务发现啥的都支持了。 可以使用域名进行负载均衡。 也是一个不错的 Server-Side Discovery Pattern 。 2,启[详细]
-
Golang1.8标准库http.Fileserver跟http.ServerFile小例子
所属栏目:[大数据] 日期:2020-12-16 热度:62
package mainimport ( "fmt" "net/http" "os" "path" "strings" )var staticfs = http .FileServer( http .Dir( "D:code20160902src" ))func main() { //浏览器打开的时候显示的就是D:code20160902srcclient目录下的内容" http .Handle( "/c[详细]
-
golang 简短变量声明注意事项
所属栏目:[大数据] 日期:2020-12-16 热度:199
操作 := 只能用于方法内部,声明并初始化新的变量, 不能用于已声明变量赋值 var v int = 0v := 1 // 错误 := 操作左边必须要有新变量,那么多个变量初始化只需要满足左边至少有一个新变量即可 f,err := os.Open(infile)// ...f,err := os.Create(outfile)//错[详细]
-
golang goroutine、channel和select
所属栏目:[大数据] 日期:2020-12-16 热度:69
goroutine packagemainimport"fmt"import"time"funcprintn(idint){fori:=0;i10;i++{fmt.Println(id,":",i)}}funcmain(){fori:=0;i5;i++{goprintn(i)}fmt.Println("waiting...")time.Sleep(time.Second*3)}//执行结果:waiting...0:02:00:12:10:21:02:20:32:3[详细]
-
golang的基本语法
所属栏目:[大数据] 日期:2020-12-16 热度:96
最近又打算玩玩golang,打算把工作中的爬虫从脚本语言迁移到golang,读了两本golang的书,对立面的语法做了一个简单的整理。 编程语言的选择 0 业务的要求1 性能2 表达能力3 是否容易上手4 坑和维护 变量 变量的声明var xx type 或者 var (xx type xxx type)[详细]
-
golang对字符串的操作
所属栏目:[大数据] 日期:2020-12-16 热度:106
字符串操作在编程中占了很大的比重。 package mainimport ( "bytes" "fmt" "strconv" "strings" "unicode" ) /** 简单实用string操作符 func Contains(s,substr string) bool func Join(a []string,sep string) string func Index(s,sep string) int func Re[详细]
-
Golang 如何声明多行字符串的变量?
所属栏目:[大数据] 日期:2020-12-16 热度:151
//main.gopackage mainimport ("fmt")func main() {var multilineStr = `1234567890~!@#$%^*()_+|abcABC`fmt.Println(multilineStr)} 需要注意是的每行文本首尾的占位符也会照常输出.[详细]
-
Go Interface
所属栏目:[大数据] 日期:2020-12-16 热度:60
1.Go语言的接口是一些方法的集合,只要一个数据类型附带的方法集合是某一个接口的方法集合的超级,那么就可以判断该数据类型实现了这个接口。 2.接口声明时要以关键字type作为开始,除此之外,接口类型声明还包含了接口类型的名称、关键字interface和由花括[详细]
-
golang中反射知识点浅析
所属栏目:[大数据] 日期:2020-12-16 热度:144
1.reflect简介 反射,就是在程序运行过程中,能够获取任意一个类的属性,方法;对任意一个类,能够调用他的任意方法和属性。这是一个比较官方的解说。个人觉得通俗易懂的解释是:“通过一个给定的变量对象,获取这个变量的 类型 ,这个类型的 属性 , 方法[详细]
-
GoLang 遍历 map、slice、array方法和template遍历map
所属栏目:[大数据] 日期:2020-12-16 热度:166
GoLang 遍历 map、slice、array方法 map1 := make(map[string]string) map1["a"] = "AAA" map1["b"] = "BBB" map1["c"] = "CCC" for k,v := range map1 { t.Log(k,v) } for _,v := range map1 { t.Log(v) } array := [...]int64{1,2,3,4} for k,v := range a[详细]
-
Go 标准库介绍二: time
所属栏目:[大数据] 日期:2020-12-16 热度:83
原文链接 http://ironxu.com/747 介绍Go 标准库 time 常用导出函数,结构体及其方法。 import "time" time包提供显示和计算时间用的函数。 1. 时间处理类型 Go 中时间处理依赖的数据类型: time.Time , time.Month , time.Weekday , time.Duration , time.Loc[详细]
-
1.Gorontine和Channel
所属栏目:[大数据] 日期:2020-12-16 热度:107
1. 通过代码分析golang语言的执行流程 代码A: func main() { //并发执行下面这个方法 go println ( "Go! Goroutine!" ) /* 1.函数time.Sleep()的作用是让调用它的Goroutine暂停(进入Gwaiting状态)一段时间 这里让main函数所在的Goroutine暂停了1毫秒 2.在[详细]
-
Golang语言Post发送 json形式的请求
所属栏目:[大数据] 日期:2020-12-16 热度:104
项目中需要用到Go语言,所以,快速学习了下,使用 net/http 库写了一个发送json数据的POST请求。 示例: package mainimport ( "bytes" "fmt" "io/ioutil" "net/http")func main() { url := "http://baidu.com" fmt.Println("URL:",url) //登陆用户名 usrId[详细]
-
golang中unsafe包浅析
所属栏目:[大数据] 日期:2020-12-16 热度:115
unsafe内容介绍 func Alignof(x ArbitraryType) uintptr func Offsetof(x ArbitraryType) uintptr func Sizeof(x ArbitraryType) uintptr type ArbitraryType int type Pointer *ArbitraryType 这个包中,只提供了3个函数,两个类型。就这么少的量,却有着超[详细]
-
golang 通过ISOWeek翻转得到周的日期时间
所属栏目:[大数据] 日期:2020-12-16 热度:84
func firstDayOfISOWeek(year int,week int,timezone * time .Location) time .Time { date := time .Date(year, 0 ,timezone) isoYear,isoWeek := date .ISOWeek() for date .Weekday() != time .Monday { // iterate back to Monday date = date .AddDate([详细]
-
golang实现并发数控制
所属栏目:[大数据] 日期:2020-12-16 热度:106
golang并发 谈到golang这门语言,很自然的想起了他的的并发goroutine。这也是这门语言引以为豪的功能点。并发处理,在某种程度上,可以提高我们对机器的使用率,提升系统业务处理能力。但是并不是并发量越大越好,太大了,硬件环境就会吃不消,反而会影响到[详细]
-
go 自己实现一个gob编解码
所属栏目:[大数据] 日期:2020-12-16 热度:79
代码库 为什么要写这么一个编解码 golang内部也实现了一个gob的二进制编解码,接口简单,使用方便,但是它对interface的支持不是很好, 比如如下代码: var in [] interface {} = [] interface {} {1 , 1.5 , "abc" , "123" , map [ int ] int {1 : 1 , 2 :[详细]
-
Golang开发环境搭建-Vim篇
所属栏目:[大数据] 日期:2020-12-16 热度:92
最近在研究docker的使用方法,恰好手边有一本docker源码分析的书,所以在ubuntu环境下准备了一套golang的开发环境,便于在学习docker使用的时候顺便学习golang。虽然目前golang可用的开发IDE很多,但作为vim爱好者,自然期望使用vim来构建golang的开发环境,[详细]
-
Go语言-切片
所属栏目:[大数据] 日期:2020-12-16 热度:58
Go 语言切片 Go语言切片的概念 Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。 Go语言切片初始化的七[详细]
