Golang——基本编译

golang基础  golang

  

2020-01-04 06:42:16

golang学习笔记   首先生成一个hello.go的文件,添加以下helloworld代码 go语言基本编译方法,命令行中输入 顺利执行此命令后,会生成hello.exe可执行文件 然后可以在命令行中执行以下代码 全部执行效果如图  ...

原文链接:https://zhuanlan.zhihu.com/p/73690883 作者:茹姐 生命不止,继续Go go go。。 Go语言在io操作中,还提供了一个bufio的包,使用这个包可以大幅提高文件读写的效率。 一、bufio包原理 bufio 是通过缓冲来提高效率。 io操作本身的效率并不低,低的是频繁的访问本地磁盘的文件。所以bufio就提供了缓冲区(分配一块内存),读和写都先在缓...

Go 变量的数据类型

Golang基础  golang  go

  

2020-06-23 18:13:50

变量的数据类型 Go数据类型介绍 整数类型基本使用 简单的说,就是用于存放整数值的,比如 0, -1, 2345 等等。 有符号整数类型 无符号整数类型 int 的其它类型的说明: 整型的使用细节 Golang 各整数类型分:有符号和无符号,int uint 的大小和系统有关。 Golang 的整型默认声明为 int 型。 输出结果为: 如何在程序查看某个变量的字节大小和数据类型 输出结果为:&n...

基本数据类型转换 基本介绍 Golang 和 java / c 不同,Go 在不同类型的变量之间赋值时需要显式转换。也就是说 Golang 中数据类型不能自动转换。 基本语法 表达式  T(v)  将值 v 转换为类型 T T: 就是数据类型,比如 int32,int64,float32 等等 v:就是需要转换的变量 案例演示1: 结果报错: 案例演示2: ...

Go 变量的使用(一)

Golang基础  go  golang

  

2020-06-30 15:16:37

Go 变量 变量是程序的基本组成单位 不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位 变量的概念 变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,同样的道理,通过变量名可以访问到变量(值)。 变量的使用步骤 声明变量(也叫:定义变量) 非变量赋值 使用变量 案例 输出: 变量使用注意事项 变量表示内存中的一个存储区域 该区域...

内置函数(buitin) 说明:Golang 设计者为了编程方便,提供了一些函数,这些函数可以直接使用,我们称为 Go 的内置函数。 参考文档:https://studygolang.com/pkgdoc len:用来求长度,比如 string、array、slice、map、channel new:用来分配内存,主要用来分配值类型,比如 int、float32,struct...返回的是指针 演...

方法的调用和传参机制原理 说明: 方法的调用和传参机制和函数基本一样,不一样的地方是方法调用时,会将调用方法的变量,当做实参也传递给方法。 下面我们举例说明 案例 1: 画出前面 getSum 方法的执行过程+说明 内存示意图: 说明: 在通过一个变量去调用方法时,其调用机制和函数一样 不一样的地方时,变量调用方法时,该变量本身也会作为一个参数传递到方法 如果变量是值类型,则进行值拷贝,如果变量是...

类型断言引出和基本使用 引例: 需求:如何将一个接口变量,赋给自定义类型的变量.=>引出类型断言 z 基本介绍 类型断言:由于接口是一般类型,不知道具体类型,如果要转成具体类型,就需要使用类型断言 具体的如下: 对上面代码的说明: 在进行类型断言时,如果类型不匹配,就会报 panic 因此进行类型断言时,要确保原来的空接口指向的就是断言的类型.  在进行断言时,带上检测机制,如果成...

Go go协程和go主线程

Golang基础  go  golang

  

2020-07-06 10:03:43

go协程和go主线程 Go 主线程(有程序员直接称为线程/也可以理解成进程): 一个 Go 线程上,可以起多个协程,可以这样理解,协程是轻量级的线程[编译器做优化]。 Go 协程的特点 1) 有独立的栈空间 2) 共享程序堆空间 3) 调度由用户控制 4) 协程是轻量级的线程 演示案例 请编写一个程序,完成如下功能: 1) 在主线程(可以理解成进程)中,开启一个 goroutine, 该协程每隔 ...

引出反射 先看一个问题,反射的使用场景 使用反射机制,编写函数的适配器, 桥连接 要求如下: 定义了两个匿名函数 定义一个适配器函数用作统一处理接口,其大致结构如下: 反射的基本介绍 反射可以在运行时动态获取变量的各种信息, 比如变量的类型(type),类别(kind) 如果是结构体变量,还可以获取到结构体本身的信息(包括结构体的字段、方法) 通过反射,可以修改变量的值,可以调用关联的方法。 使用...

协程并发(并行)资源竞争问题 先看需求 需求:现在要计算 1-200 的各个数的阶乘,并且把各个数的阶乘放入到 map 中。最后显示出来。 要求使用 goroutine 完成 分析思路: 1) 使用 goroutine 来完成,效率高,但是会出现并发/并行安全问题.  2) 这里就提出了不同 goroutine 如何通信的问题 代码实现 1) 使用 goroutine 来完成(看看使用 ...

Go 面向对象编程之继承

Golang基础  go  golang

  

2020-08-01 22:12:53

面向对象编程之继承 看一个问题,引出继承的必要性 一个小问题,看个学生考试系统的程序 ,提出代码复用的问题 对上面代码的小结 Pupil 和 Graduate 两个结构体的字段和方法几乎,但是我们却写了相同的代码, 代码复用性不强 出现代码冗余,而且代码不利于维护,同时也不利于功能的扩展。 解决方法-通过继承方式来解决 继承基本介绍和示意图 继承可以解决代码复用,让我们的编程更加靠近人类思维。 当...

Golang 入门基础教程(一)macOS下安装Golang基础环境 导读:Golang已经使用一个月了,准备写写博客,方便后续的知识点复习 先来一篇macOS下安装Golang的说明,后续会更新 Windows,Ubuntu两平台的安装说明 安装方法一 使用 brew 进行安装,所有需要提前准备brew环境 使用该方法安装很方便,不需要下载源码包啊,依赖包啊之类的,直接一条指令搞定 brew i...

Golang系列(一)之基础篇

golang  基础

  

2020-03-26 03:51:13

转自:https://blog.csdn.net/huwh_/article/details/78429965 目录(?)[-] 一初识Go语言 一概述 二Go关键字25个 三Go语言命令 二顺序编程 变量 1变量声明 2变量初始化 3变量赋值 4匿名变量 常量 1字面常量 2常量定义 3预定义常量 4枚举 类型 1基础类型 11布尔类型 12整型 13浮点型 14复数类型 15字符串 16字符类...

1. 什么是future模式 我们经常在编程的时候,经常会在一个函数里面调用多个子调用的情况,这些子调用相互之间没有依赖,如果串行调用,会耗时很长,这时就可以使用future模式来进行开发。 基本原理: 使用chan作为函数参数 启动goroutine调用函数 通过chan传入参数 做其他可以并行处理的事情 通过chan异步获取结果 2. futrue好处? future 最大的好处是将函数的同步...