-
golang基础-new_make、recover_panic、append、闭包
所属栏目:[大数据] 日期:2020-12-16 热度:91
append append:用来追加元素到数组、slice中 package main import ( "fmt" // "errors" ) func main() { //new函数 j:= new ( int ) fmt.Println(j) *j = 100 fmt.Println(*j) //append函数 var b [] int b = append (b ,10 ,30 ) fmt.Println(b) b = appen[详细]
-
golang基础-数组、切片创建_内存_底层实现_修改值_拷贝_循环、st
所属栏目:[大数据] 日期:2020-12-16 热度:187
数组 数组:是同一种数据类型的固定长度的序列 数组定义:var a [len]int,比如:var a[5]int,一旦定义,长度不能变 长度是数组类型的一部分,因此,var a[5] int和var a[10]int是不同的类型 数组可以通过下标进行访问,下标是从0开始,最后一个元素下标是[详细]
-
如何拆分一个字符串并将其分配给Golang中的变量?
所属栏目:[大数据] 日期:2020-12-16 热度:51
在Python中,可以拆分一个字符串并将其分配给变量: ip,port = '127.0.0.1:5432'.split(':') 但在戈兰,似乎不工作: ip,port := strings.Split("127.0.0.1:5432",":")// assignment count mismatch: 2 = 1 问题:如何拆分一个字符串并在一个步骤中赋值? 两[详细]
-
golang bufio、ioutil读文件的速度比较(性能测试)和影响因素分
所属栏目:[大数据] 日期:2020-12-16 热度:169
前言 golang读取文件的方式主要有4种: 使用File自带的Read方法 使用bufio库的Read方法 使用io/ioutil库的ReadAll() 使用io/ioutil库的ReadFile() 关于前3种方式的速度比较,我最早是在 GoLang几种读文件方式的比较 看过,但在该blog的评论区有人(study_c)[详细]
-
golang中中文字符串的截取
所属栏目:[大数据] 日期:2020-12-16 热度:91
在golang中可以通过切片截取一个数组或字符串,但是当截取的字符串是中文时,可能会出现的问题是:由于中文一个字不只是由一个字节组成,所以直接通过切片可能会把一个中文字的编码截成两半,结果导致最后一个字符是乱码。 可以先将其转为[]rune,再截取后,[详细]
-
GoLang初探
所属栏目:[大数据] 日期:2020-12-16 热度:163
简介 多核处理器越来越普及,那有没有一种简单的办法,能够让我们写的软件释放多核的威力?答案是:Yes。随着Golang,Erlang,Scale等为并发设计的程序语言的兴起,新的并发模式逐渐清晰。正如过程式编程和面向对象一样,一个好的编程模式需要有一个极其简洁的[详细]
-
Go语言实战笔记
所属栏目:[大数据] 日期:2020-12-16 热度:58
转载 飞雪无情博客:http://www.flysnow.org/page/3/ Go语言实战笔记(一)| Go包管理 Go语言实战笔记(二)| Go开发工具 Go语言实战笔记(三)| Go Doc 文档 Go语言实战笔记(四)| Go 数组 Go语言实战笔记(五)| Go 切片 Go语言实战笔记(六)| Go Map Go[详细]
-
golang基础-排序、二分查找、map、map排序反转
所属栏目:[大数据] 日期:2020-12-16 热度:89
排序 package mainimport( "fmt" "sort" )func main() { testInSort() testString() testFloat()}func testFloat(){ var a = [ ... ]float64{ 12.5 , 455.677 , 236.77 ,- 234.66 , 0 , 5.99 } sort.Float64s(a[:]) fmt.Println(a)}func testString(){ var a[详细]
-
Golang安装配置
所属栏目:[大数据] 日期:2020-12-16 热度:190
1.下载安装 地址:https://golang.org/dl/ 1.1 linux版本下载: wget https://storage.googleapis.com/golang/go1.9.2.linux-amd64.tar.gz --no-check-certificatetar -C /usr/local -xzf go1.9.2.linux-amd64.tar.gz 2.工作目录和环境配置: GOROOT 是golan[详细]
-
Go 一些简要的实用 代码片段
所属栏目:[大数据] 日期:2020-12-16 热度:157
当前时间 + 常规格式化,引用 “time” ts := time.Now().Format("2006-01-02 15:04:05.000") // 2017-10-26 17:32:57.871 字符串转时间 tx := time.Parse("2006-01-02 15:04:05.000","2017-10-26 18:02:01.234")//fmt . Println ( tx . Nanosecond () )= 234[详细]
-
go语言 首字符大小写区别
所属栏目:[大数据] 日期:2020-12-16 热度:190
首字母大写,代表对外部可见,首字母小写代表对外部不可见,适用于所有对象,包括函数、方法 看json的例子: package mainimport ("github.com/gin-gonic/gin/json""fmt")type Aa struct{x stringy string}type Bb struct{X stringy string}type Cc struct{X[详细]
-
golang基础-互斥锁、读写锁
所属栏目:[大数据] 日期:2020-12-16 热度:100
互斥锁 其中Mutex为互斥锁,Lock()加锁,Unlock()解锁,使用Lock()加锁后,便不能再次对其进行加锁,直到利用Unlock()解锁对其解锁后,才能再次加锁.适用于读写不确定场景,即读写次数没有明显的区别,并且只允许只有一个读或者写的场景,所以该锁叶叫做全[详细]
-
golang基础-结构体、结构体链表前后插入、节点添加删除
所属栏目:[大数据] 日期:2020-12-16 热度:67
结构体定义 struct 用来自定义复杂数据结构 struct里面可以包含多个字段(属性) struct类型可以定义方法,注意和函数的区分 struct类型是值类型 struct类型可以嵌套 Go语言没有class类型,只有struct类型 package mainimport ( "fmt" )type Student struct{[详细]
-
第一节 如何用Go实现单链表
所属栏目:[大数据] 日期:2020-12-16 热度:133
一、概念介绍 下面这副图是我们单链表运煤车队。 每节运煤车就是单链表里的元素,每节车厢里的煤炭就是元素中保存的数据。前后车通过锁链相连,作为单链表运煤车,从1号车厢开始,每节车厢都知道后面拉着哪一节车厢,却不知道前面是哪节车厢拉的自己。第一节[详细]
-
golang kafka client
所属栏目:[大数据] 日期:2020-12-16 热度:153
由于前面使用sarama 包,在高并发时遇到一些问题,尚未解决。改用confluent-kafka-go后,表现稳定。 简单介绍下confluent-kafka-go,kafka官网推荐的golang package。 confluent-kafka-go is Confluent’s Golang client for Apache Kafka and the Confluent[详细]
-
golang context 源码阅读
所属栏目:[大数据] 日期:2020-12-16 热度:64
Context 派生: ctx,_ := context .WithTimeout (context .Background (),( 10 * time .Second )) 源码分析: // WithTimeout returns WithDeadline(parent,time.Now().Add(timeout)). // // Canceling this context releases resources associated with it,[详细]
-
Go基础学习七之排序算法
所属栏目:[大数据] 日期:2020-12-16 热度:179
这一节,将学习Go语言的经典排序算法,比如插入排序、选择排序、冒泡排序、希尔排序、归并排序、堆排序和快排,二分搜索,外部排序和MapReduce等。 一、经典排序算法 算法的学习非常重要,是检验一个程序员水平的重要标准。学习算法不能死记硬背,需要理解其[详细]
-
kubernetes 1.8 快速安装,只需三步
所属栏目:[大数据] 日期:2020-12-16 热度:160
到这里购买安装包 只需15 童叟无欺。。。 15块买的不止包还有服务! 没有比我的方式更简单的了。。。 安装 master节点执行init-master.sh node节点执行init-node.sh node节点执行master输出的kubeadm join命令 选装,dashboard,master安装完就可以装这个了[详细]
-
golang基础-双链表、别名、自定义构造函数
所属栏目:[大数据] 日期:2020-12-16 热度:113
双链表 type Student struct { Name string Next * Student Prev * Student } 如果有两个指针分别指向前一个节点和后一个节点,我们叫做双链表 package main import "fmt" type Student struct { Name string Age int Score float32 left *Student right *St[详细]
-
golang基础-结构体tag、匿名字段
所属栏目:[大数据] 日期:2020-12-16 热度:71
struct中的tag 我们可以为struct中的每个字段,写上一个tag。这个tag可以通过反射的 机制获取到,最常用的场景就是json序列化和反序列化 package main import "fmt" import "encoding/json" type student struct { Name string `json:"stu_name"` Age int }[详细]
-
golang 整数常量INT_MAX INT_MIN最大值最小值
所属栏目:[大数据] 日期:2020-12-16 热度:175
在C语言中,有标准库 limits.h 定义了一些最大最小值常量,例如 int 类型的最大值常量 INT_MAX ,最小值常量 INT_MIN ,无符号整型 uint 类型的最大值常量 UINT_MAX golang的标准库里没有定义这些变量。不过可以用位操作运算,轻松定义这些常量。 无符号整型[详细]
-
golang 时间加减
所属栏目:[大数据] 日期:2020-12-16 热度:145
package mainimport ("fmt""time")// 这个方法就是把加减时间值和时间整合到了一起而已func CTime(t time.Time,time_str string) time.Time {time_part,err := time.ParseDuration(time_str)if err != nil {fmt.Println(err)return t}return t.Add(time_part[详细]
-
通过leetcode学习位运算及其Go实现
所属栏目:[大数据] 日期:2020-12-16 热度:149
问题描述 461. Hamming Distance 即求两个正整数的二进制对应位数不同的个数 原理说明 从问题描述来看,最直观的解决方法就是十进制数先转成二进制,再比对相同位数是否相同,不同则计数器累加,最终计数器的值即是 Hamming Distance 。 优化方案:先 ^ 运算[详细]
-
golang进阶(四)——路由mux的最佳实践
所属栏目:[大数据] 日期:2020-12-16 热度:174
前言 为了让golang的路由更加清晰,让路由的代码可读性更好,我们采用mux包去实现路由,并且在原有功能上做了精简 该系列文章所有代码放在这里 开始 所需的包 github.com/gorilla/mux 我们在启动http服务时设置一下路由的配置方法 func startHttp() { if err[详细]
-
VSCode Golang 环境搭建 (mac os)
所属栏目:[大数据] 日期:2020-12-16 热度:148
安装Golang (略) 安装VS Code (略) 设置环境变量(source ~/.bash_profile) export GOROOT='/usr/local/go'export GOARCH='amd64'export GOOS='darwin'export GOPATH='/Users/your_name/gopath'export PATH='/bin:/sbin:/usr/bin:/usr/local/bin:/usr/local[详细]
