精华内容
下载资源
问答
  • go语言学习网站大全

    2021-09-26 11:09:58
    最近在学习go语言,搜集了一些学习网站,也有大量的面试题,及练手项目 分享给大家,一起学习 go语言系列 go Interview 语雀 Go Interview · 语雀 go 官方blog ...go语言基础学习 frank–golang htt

    最近在学习go语言,搜集了一些学习网站,也有大量的面试题,及练手项目
    分享给大家,一起学习

    可以关注我的公众号:菜鸟内推
    分享求职干货,大厂面经~

    在这里插入图片描述

    go语言系列

    go Interview 语雀
    https://www.yuque.com/go-interview/set

    go 官方blog
    https://docs.studygolang.com/blog/

    go教程&框架
    https://www.topgoer.com/

    go网址导航
    https://hao.studygolang.com/

    go地鼠文档
    https://www.topgoer.cn/

    go 语言中文网
    https://studygolang.com/

    go语言基础学习 frank–golang
    https://github.com/weirubo/intermediate_go

    go语言详细入门教程
    http://c.biancheng.net/golang/

    go视频教程–清华学神尹成go1.17详细
    https://www.bilibili.com/video/BV1Pf4y1h797?spm_id_from=333.999.0.0

    go面试题

    go面试题
    https://github.com/goxuewen/night-reading-go/tree/master/interview
    go面试题
    https://github.com/KeKe-Li/data-structures-questions/blob/master/src/chapter05/golang.01.md
    go面试题
    https://blog.csdn.net/weiyuefei/article/details/77963810

    大厂面试题

    https://github.com/0voice/interview_internal_reference

    github

    学习github的使用
    https://oschina.gitee.io/learn-git-branching/
    https://github.com/pcottle/learnGitBranching
    毛剑
    https://github.com/Terry-mao
    bilibili
    https://github.com/orgs/bilibili

    OI wiki – hulu(算法语言基础)
    https://oi-wiki.org/

    OSChina

    微服务
    https://my.oschina.net/CraneHe
    敖丙
    https://my.oschina.net/javaFamily
    程序员小灰
    https://my.oschina.net/u/4543837

    笔试面试知识整理

    https://hit-alibaba.github.io/interview/

    算法小抄

    https://labuladong.gitbook.io/algo/

    Netty 线程模型
    https://www.infoq.cn/article/netty-threading-model/
    Scaling Memcache at Facebook
    https://www.usenix.org/system/files/conference/nsdi13/nsdi13-final170_update.pdf

    此外,我已经拿到多家大厂offer,整理了一些面经
    也有4T多的编程学习资料,如果你需要,可私信我领取,祝大家offer多多~

    在这里插入图片描述
    或添加微信:Oo_Neitui 领取

    展开全文
  • go语言学习路线

    2020-12-20 20:22:26
    go语言学习路线发布时间:2020-06-22 17:34:46来源:亿速云阅读:95这期内容当中小编将会给大家带来有关go语言学习路线,以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。从零开始入门Go...

    go语言的学习路线

    发布时间:2020-06-22 17:34:46

    来源:亿速云

    阅读:95

    这期内容当中小编将会给大家带来有关go语言的学习路线,以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

    从零开始入门Go语言,可以分成三个阶段。一阶段,啃完Ultimate Go Programming的视频。

    二阶段,利用Go语言培训社区提供的资源,强化实践。

    三阶段,反过来研究关于计算机系统的理论教材,对系统知识再进行了解。

    五大部分:

    一是Go语言设计理念(Design Philosophy),内含介绍文档×1,不知道Go可以用来做什么可以从这里开始学习。

    在这份入门指南中建议,在学习Go语言前必须制定一套设计理念,比制定盲目应用的规则更重要。

    设计理念中特别强调了理解代码本身,学写代码其实和学一门自然语言有相似之处,需要阅读好的坏的代码加深语感,而这块是很多程序员缺乏的。

    二是语言机制(Language Mechanics),包括Go语言的句法、数据结构、解耦三部分,每个分别有多个细分介绍。

    三是软件设计(Software Design),内容细化到分组类型解耦过程、界面转换、界面污染,mock过程和常见雷区。

    每个分类里还包含若干源代码分析。

    四是研究并发性(Concurrency),也就是在Go协程(Goroutine)、数据竞赛、多个channel和不用模式语境和模式下的操作过程。

    五是测试和分析(Testing and Profiling),写到了基本单元测试、表测试、自测试等发测试方法,以及常见的标准等。

    此外,还有各种包(Packages),作者表示这部分还在完善中。

    上述就是小编为大家分享的go语言的学习路线了,如果您也刚好正在学习golang,不妨参照这篇文章进行尝试。如果想了解更多相关内容,请关注亿速云行业资讯。

    展开全文
  • golang-阅读雨痕大神的Go语言学习笔记的心得第一章 概述go与java中的局部变量初始化问题golang中实现生产者消费者模型,利用管道进行数据通信第二章 类型类型推断的使用注意常量与变量的区别常量的值类型省略go的...

    第一章 概述

    1.1 go与java中的局部变量初始化问题

    package main
    import "fmt"
    
    func main() {
    	var x int32  // 默认赋值为空
    	fmt.Println(x)
    }
    
    public static void main(String[] args) {
    	int x = 1;  // int x会报错
    	System.out.println(x);  // 局部变量必须赋值才能使用
    }
    

    1.2 golang中实现生产者消费者模型,利用管道进行数据通信

    package main
    
    import "fmt"
    
    // 消费者线程
    func consumer(data chan int, done chan bool) {
    	for x := range data {
    		fmt.Println("rev", x)
    	}
    	done <- true
    }
    
    // 生产者线程
    func provider(data chan int) {
    	for i := 0; i < 4; i++ {
    		data <- i
    	}
    	close(data) // 关闭管道
    }
    
    func main() {
    	done := make(chan bool)  // 管道、map、slice用make返回本身,如果使用new会返回指针
    	data := make(chan int)
    
    	go consumer(data, done)
    	go provider(data)
    
    	<- done // 阻塞直到消费者发回结束信息
    }
    

    第二章 类型

    2.1 类型推断的使用注意

    func main() {
    	x := 100 
    	x, y := 10, 5 // 这里x会退化为赋值操作,仅y为变量定义, 注意:如果仅使用x := 10会不成功,必须跟至少一个未赋值的变量
    }
    

    2.2 常量与变量的区别

    func main() {
    	const x = 1 // 不使用x的话这样不会报错, 而var x = 2, 不使用x的话会报错
    }
    

    2.3 常量的值类型省略

    func main() {
    	const (
    		x = 1
    		y
    		z
    		m
    	)
    	fmt.Println(m) // 这里的m的值和类型会根据x的值和类型进行推断
    }
    

    2.4 go的枚举

    // golang虽然没有明确意义上的enum定义,但是可以借助iota
    const (
    	x = iota // 0
    	y		 // 1
    	z		 // 2
    )
    
    // 利用_忽略首个0值,并分组赋值
    const (
    	_, _ = iota, iota * 10 // 0, 0 * 10
    	a, b				   // 1, 1 * 10
    	c, d 				   // 2, 2 * 10
    )
    
    // 如果在枚举的过程中想要中断自增
    const (
    	a = iota	// 0
    	b			// 1
    	c = 100 	// 100
    	d			// 100
    	e = iota	// 4 这里会恢复赋值,且c、d被记入计数
    	f			// 5
    )
    
    // 切换iota的类型
    const (
    		a         = iota	// 且iota值默认为int,若想切换类型需要显示指定类型
    		b float32 = iota    // float32 1
    		c		  = iota	// float32 2
    	)
    

    2.5 常量和变量到底有什么区别

    var z = 0x100
    
    const y = 0x200
    
    func main() {
    	fmt.Println(&z, z) // 不会报错
    	fmt.Println(&y, y) // 报错,常量不能进行取值,常量会在被编译器在预处理阶段直接展开,作为指令数据使用,类似于java的常量池,所以无法像变量那样通过内存寻址来取值
    }
    
    // 常量的两种状态对编译器的影响
    const x = 100
    const y byte = x
    
    const a int = 100
    const b byte = a // 报错,因为上一步显示指定常量类型,编译器会做强类型检查
    

    2.6 go 基本类型

    go基本数据类型

    2.7 go 引用类型

    所谓引用类型特指slice、map、channel这三种预定义类型
    

    2.7.1 go中new与make的区别

    new按照指定类型长度分配零值内存,返回指针,并不关心内部构造和初始化方式。
    而引用类型必须由make函数进行创建,编译器会将make转换为目标类型专用的创建函数,以确保完成全部内存分配和相关属性初始化。
    
    type Point struct {
    	x int
    	y int
    }
    
    func main() {
    	var	*p Point
    	p = new(Point) // new会返回指针
    	
    }
    
    func main() {
    	tempMap := make(map[string]int). // 引用对象只能由make进行创建
    }
    
    展开全文
  • Go语言学习心得

    2021-04-10 09:34:10
    go语言的特性: 静态语言:强类型语言 go、java、c++、c#... 动态语言:弱类型语言 JavaScript、ptp、 python、ruby... 变量的本质,就是一小块内存,用于存储数据,在程序运行过程中数值可以改变 使用: ...

    一、变量的概念和使用

    go语言的特性:

    静态语言:强类型语言

        go、java、c++、c#...

    动态语言:弱类型语言

    JavaScript、ptp、 python、ruby...

     

    变量的本质,就是一小块内存,用于存储数据,在程序运行过程中数值可以改变

    使用:

    step1: 变量的声明,也叫定义

    step2: 变量的访问,赋值和取值

    //第一种先定义后赋值

    var name type
    
    name = name
    
    //第二种:类型推断
    
    var name = "王二狗"
    
    //第三种: 简短声明,省略var
    
    name := "王二狗"

     

    二、变量的内存分析和注意事项

    1、变量必须先定义才能使用

    2、变量的类型和赋值必须一致

    3、同一个作用域内,变量名不能冲突

    4、简短的定义方式,左边的变量至少有一个是新的

    5、简短定义方式不能使用于全局变量的定义

    var num int
    
    num = 100
    
    fmt.Printf("num的数值:%d, 地址是%p\n", num, &num)
    
    num = 200
    
    fmt.Printf("num的数值:%d, 地址是%p\n", num, &num)

     

    此时num的值被改变,但是对应在计算机中的内存地址没有发生改变

     

    三、常量的使用

    1、概念:同变量类似,陈那个徐执行过程中数值不能改变

    2、语法:

        显式类型定义

        隐式类型定义

    3、固定的数值:

    100, "abc"

    4、一组常量中,如果某个常量没有初始值,默认和上一行一致

    const {
    
        a int = 100
    
        b
    
        c string = "ruby"
    
        d
    
        e
    
    }

    5、枚举类型:使用常量组作为枚举类型,一组相关数值的数据

     

    四、ioat关键字

    特殊的常量,可以被编译器自动修改的常量

    每当定义一个const,ioat的初始值为0

    每当定义一个产量,就会自动累加1

    直到下一个const常量出现,清零

    const {
        a = ioat //0
        b = ioat //1
        c = ioat // 2
    }
    
    const {
        d = ioat //0
        e        //1
    }
    
    
    

    清晰明了简介

    const {
        A = ioat //0
        B //1
        C //2
        D = "haha" //ioat = 3
        E //haha ioat = 4
        F = 100 // ioat = 5
        G //100 ioat = 6
        H = ioat //7
        I //ioat 8
    }
    
    const {
        J = ioat //0
    }

    五、基本数据类型

    1、布尔类型: bool

        取值:true false 

    2、数值类型 :

    整数 : int

      有符号:最高位表示符号位,0为正数,1为负数,其余位表示数值

        int8: -128~127

        int16: -32768~32767

        int32: -2147483648~2147483647

        int64:-9223372036854775808~9223372036854775807

      无符号:所有位表示数值

        uint8: 0~255

        uint16: 0~65536

        uint32: 0~4294967295

        uint64: 0~18446744073709551615

    byte:uint8

    rune: int32

    浮点:生活中的小数

    float32

    float64

    复数:complex

    3、字符串: string

    复合数据类型: array、slice、map、function、pointer、struct、interface、channel...

     

    六、字符串型

    1、概念:多个byte的集合,理解为一个字符序列

    2、语法:使用双引号

        "abc" "ABC" "A"

    也可以使用''

    3、编码问题

    计算机本质识别0和1

    A:65 B:66 C:67

    a:97

    ACSII(美国标准信息交换码)

    Unicode编码表:号称统一了全世界

    UTF-8、UTF-16、UTF-32...

    4、转义字符:\

    A:有一些字符,有特殊的作用,可以转义为普通的字符

    B:有一些字符,就是一个普通的字符,转义后有特殊的作用,换行等

     

    七、基本数据类型的转换

    兼容类型可以转换

    常数:在有需要的时候,自动转换

    变量:需要手动转换

     

    八、算术运算符

    +,-,*,/,%,++, --

    位运算符等等

     

    九、键盘输入和打印输出

    输出:

        Print() //打印

        Printf() //格式化打印

       Printfln() //打印之后换行

     

    格式化打印占位符:

    https://studygolang.com/articles/20310

    十、切片的语法

    var identifier [] type

    切片不需要说明长度

    或者使用make()函数进行处理, func make(t Type, size ... IntegerType) Type

      第一个参数:类型

        slice、map、chan

    第二个参数:长度len

    实际存储元素的数量

    第三个参数:容量cap

    最多能够存储的元素个数

    slice的内存分析

    1、每一个切片引用了一个底层数组

    2、切片本身不存在任何数据,都是这个底层数组存储,所以修改切片也就是修改这个数组中的数据

    3、当向切片中添加数据时,使用append(append(s1, elems:6,7,8))如果没有超过容量,直接添加,如果超过容量,自动扩容(成倍增长)

    4、切片一旦扩容,就是重新指向一个新的底层数组

     

    在已有数组上进行切片使用

    a := [10]int{1,2,3,4,5,6,7,8,9,10}
    s1 := a[:5]

    那么对于的s1的长度为5,容量为10,如果改变s1的内的数值,那么对应的a也会发生改变

     

     

     

     

    展开全文
  • Go语言学习技术路线图2021发布了!

    千次阅读 多人点赞 2021-02-08 17:30:00
    今年元旦前,CSDN编辑周翔老师邀请我参与他们策划的“IT人才成长路线图”,合作编写其中的Go语言学习技术路线图。出于让更多开发者学习Go语言、加入Go社区、壮大Go生态的公心考虑以及扩大个人影响力的私心考虑,我...
  • go语言Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发...
  • 在我们开始学习 Go 编程语言的基础构建模块前,让我们先来了解 Go 语言最简单程序的结构。 GO 语言的基础组成有以下几个部分: 包声明 引入包 函数 变量 语句 & 表达式 注释 接下来让我们来看下简单的...
  • Go语言学习

    2021-01-09 21:40:16
    Go语言基础之环境安装及变量 运行:go run xxx.go(main函数) 打包:go build 用于测试编译包,在项目目录下生成可执行文件(有main包) go install:主要用来生成库和工具。一是编译包文件(无main包),将编译后...
  • Go语言学习笔记(一)

    千次阅读 2021-04-05 10:46:09
    Go语言学习笔记(一)1.初识Go语言1.1Go简介1.2 Go是编译型语言1.3 编译型语言和解释型语言的区别1.4 Go是一种静态类型语言2 正式学习2.1 第一个Go程序hello world2.2 Go程序的运行题外话: 1.初识Go语言 1.1Go简介 ...
  • 作者:郝林内容选自:《Go语言核心36讲》1. 明星大厂热推,岗位需求火热。最近,Hacker News 发布了 2018 年编程语言的招聘趋势排行榜,其中,Go语言已经反超Java进入了前三名。Go语言具有入门快、程序库多、运行...
  • 在近一年的编程语言的排行榜中,Go语言跻身靠前的位置。Go语言具有入门快、程序库多、运行迅速等特点,开发效率和执行效率都是各大编程语言中的佼佼者。企业对于Go语言的使用情况正逐年上升。自发布以来,Go语言就...
  • Go语言学习路线

    2021-03-23 20:20:10
    Go 学习 学习路线 2.基础知识 3.开发工具安装地址 下载 Go基础知识 基础结构 learn1.go 基础语法 learn2.go 数据类型 learn3.go 变量 learn4.go 常量 learn5.go 运算符 learn6.go 条件语句 learn7.go 循环语句...
  • go语言学习笔记1

    2021-07-05 11:10:56
    go语言学习笔记1 基本结构和变量声明 package main //声明包,main包可执行文件 import "fmt" //导入语句 //函数外只能声明变量,常量,类型 //非全局变量声明了必须使用,且使用小驼峰式 //不能重复声明变量 //go...
  • go语言学习go语言源码文件

    千次阅读 2021-03-05 11:04:50
    通过go run命令运行,可接受命令行参数 main函数执行的结束以为当前程序运行结束 同一个代码包中不要放多个命令源码文件 命令源码文件与库源码文件不要放在同一个代码包 构建后生成可执行文件,位
  • Go语言学习资料推荐

    2021-11-01 15:51:45
    the-way-to-go the-way-to-go 中文翻译版,内部含有大量代码示例可以直接下载 build-web-application-with-golang build-web-application-with-golang go语言web开发指南
  • Go语言学习笔记(十三)一、使用包实现代码重用1 导入包2 理解包的用途3 使用第三方包4 安装第三方包 一、使用包实现代码重用 在Go语言中,包用于代码编组,以便在Go程序中导入并使用他们。 1 导入包 package main ...
  • Go 语言学习路线图

    2021-11-22 17:46:01
    今天在浏览Github 时,发现了一份关于Go developer 学习路线图: github 地址:https://github.com/zhouzhiwengang/golang-developer-roadmap
  • Go语言学习笔记(二)1 命令行参数1.1 os.Args2.Go数据类型2.1类型简介2.2常见类型声明2.3 常见类型2.3.1 布尔类型2.3.2 数值类型2.3.2.1 字符串类型2.3.2.2 数组2.4 检查变量的类型2.5类型转换 1 命令行参数 大部分...
  • 文章目录go语言学习的阶段性总结成果分析学习分析对go语言的印象规划后话 go语言学习的阶段性总结 成果分析 尽管由于时间问题,error的学习还未结束,但是go语言的核心内容的学习已经完成。 总的来说:通过上周和这...
  • 首先强调一下:go中任何自定义类型都可以有方法,不仅仅是struct 注意除了:指针和interface 通过下面简单例子理解: package main import ( "fmt" ) //这里是我们普通定义的一个函数add func add(a,b int...
  • 关于《Go语言学习笔记》这本书

    千次阅读 2021-02-01 18:01:07
    #关于《Go语言学习笔记》这本书 书如其名,真的算是一本笔记,书中大量篇幅都是代码块,文字介绍较少,基础理论内容也很少, 更多的是对某一些特性和一些用法上做实践,并且如果你细读的话也会发现一些写错的地方。 ...
  • 学习 Go 语言(Golang)PDF

    2021-05-12 08:00:22
    1、简介Go 编程语言是一个使得程序员更加有效率的开源项目。Go 是有表达力、简 洁、清晰和有效率的。它的并行机制使其很容易编写多核和网络应用,而新奇的类型系统允许构建有性的模块化程序。Go 编译到机器码非常快 ...
  • 最近看go语言,发现一个有意思的语法,原文是描述匿名函数的,不过从这里面发现一个有意思的东西,即我们可以返回一个函数,并且可以不断调用此函数。由于之前已经完成了外层函数的调用,实际上相当于外层函数保存...
  • go工具为公共代码仓库中维护的开源代码而设计。go工具用于构建源码包,并将其生成的二进制文件安装到工作空间GOPATH的pkg和bin目录中。go工具非常丰富: 获取源代码(go get) 编译(go build) 文档 测试(go test,...
  • Go语言中,所有带小数点的数字在默认情况下都会被设置成float64类型,但是如果使用整数去初始化一个变量,那么Go语言只有在显式地指定浮点类型的情况下,才会将其声明为浮点类型变量,如下代码 var answer float64...
  • 开始学习go语言,就是fmt的包,这个包为啥叫fmt包呢?可以参考 go语言的文档。 参考:fmt/doc.go (下面代码所示) go语言的fmt package ,实现了同C语言的printf,scanf类似formatted I/O 的functions。 这个...
  • GO语言学习笔记

    2021-10-17 18:49:47
    GO语言学习笔记1. 为啥要有GOGO的关键字变量定义包接口反射 1. 为啥要有GO 百度了一下,居然N个回答都是“为啥要用GO?“。真让人无语。 我想知道的是Google为啥推出了GO语言GO语言解决了什么其他语言解决不了的...
  • ②是利用初中我们学习的化简无理分式时,都是采用的分母有理化思想方法,而复数c+di与复数c-di,相当于我们初中学习的 的对偶式,它们之积为1是有理数,而(c+di)·(c-di)=c2+d2是正实数.所以可以分母实数化。把...
  • 计划在工作百忙之中,每天抽出两小时,把打联盟的时间用来学习GO语言,期待三个月后可熟练上手GO语言,半年后熟悉框架,可以出去从事GO语言,By the way,PHP是世界上最好的语言。 第一天:其实啥也没干,公司...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 125,337
精华内容 50,134
关键字:

go语言学习

友情链接: Kmeans聚类.zip