Go 入门指南(The way to Go)地简化,同时追求最大程度的自动化。他完美地诠释了敏捷编程的 KISS 秘诀:短小精悍! Go 语言通过改善或去除在 C、C++ 或 Java 中的一些所谓“开放”特性来让开发者们的工作更加便利。 这里只举例其中的几个,比如对于变量的默认初始化,内存分配与自动回收,以及更简洁却不失健壮的控 制结构。同时我们也会发现 Go 语言旨在减少不必要的编码工作,这使得 Go 语言的代码更加简洁,从而 比传统的面向对象语言更容易阅读和理解。 章)可以实现类似变体类型的功能,但本身不支持变体类型 不支持动态加载代码 不支持动态链接库 不支持泛型 通过 recover 和 panic 来替代异常机制(第 13.2-3 节) 不支持断言 不支持静态变量 关于 Go 语言开发团队对于这些方面的讨论,你可以通过 Go 常见问题 页面查看。 1.2.8 使用 Go 语言编程 如果你有其它语言的编程经历(面向对象编程语言,如:Java、C#、Obj 含空格,而应该使用下划线 "_" 或者其它一般符号 代替。 2.2 Go 环境变量 Go 开发环境依赖于一些操作系统环境变量,你最好在安装 Go 之间就已经设置好他们。如果你使用的是 Windows 的话,你完全不用进行手动设置,Go 将被默认安装在目录 c:/go 下。这里列举几个最为重要 的环境变量: $GOROOT 表示 Go 在你的电脑上的安装位置,它的值一般都是 $HOME/go0 码力 | 380 页 | 2.97 MB | 1 年前3
Go 入门指南(The way to Go)内容介绍 前言 第1章:Go 语言的起源,发展与普及 1.1 起源与发展 1.2 语言的主要特性与发展的环境和影响因素 第2章:安装与运行环境 2.1 平台与架构 2.2 Go 环境变量 2.3 在 Linux 上安装 Go 2.4 在 Mac OS X 上安装 Go 2.5 在 Windows 上安装 Go 2.6 安装目录清单 2.7 Go 运行时(runtime) 其它工具 3.8 Go 性能说明 3.9 与其它语言进行交互 第4章:基本结构和基本数据类型 4.1 文件名、关键字与标识符 4.2 Go 程序的基本结构和要素 4.3 常量 4.4 变量 4.5 基本类型和运算符 4.6 字符串 4.7 strings 和 strconv 包 4.8 时间和日期 4.9 指针 - 2 - 本文档使用 书栈(BookStack.CN) 构建 垃圾回收和 SetFinalizer 第11章:接口(interface)与反射(reflection) 11.1 接口是什么 11.2 接口嵌套接口 11.3 类型断言:如何检测和转换接口变量的类型 11.4 类型判断:type-switch 11.5 测试一个值是否实现了某个接口 11.6 使用方法集与接口 11.7 第一个例子:使用 Sorter 接口排序 11.8 第二个例子:读和写0 码力 | 466 页 | 4.44 MB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a为什么Go语言值得学习 第3章:Go官方工具链 - 如何编译和运行Go程序 Go编程入门 第4章:程序源代码基本元素介绍 第5章:关键字和标识符 第6章:基本类型和它们的字面量表示 第7章:常量和变量 - 顺便介绍了类型不确定值和类型推断 第8章:运算操作符 - 顺便介绍了更多的类型推断规则 第9章:函数声明和调用 第10章:代码包和包引入 第11章:表达式、语句和简单语句 第12章:基本流程控制语法 人工智能等。 最后,我们应该知道,没有一门语言是完美的。Go也一样。Go的设计中有很 多折衷和各种权衡。Go 1确实有一些不足。 比如,目前Go不支持任意类型的 不变量。这导致很多标准库中一些希望永不被更改的值目前被声明为变量。这 是Go程序中的一个潜在安全隐患。 本书由老貘 ? 历时三年写成。目前本书仍在不断改进和增容中。你的赞赏是 本书和Go101.org网站不断增容和维护的动力。 赞赏 链安装目录下的bin子目录路径必须配置在PATH环境变量中。 当使用安装程序 安装Go官方工具链时,安装程序很可能已经自动地将此配置好了。 Go官方工具链近来的版本均支持一个称为Go模块(Go modules)的特性,用 来管理项目依赖。 此特性在版本1.11中被试验性地引入并从版本1.16开始被默 认支持。 我们应该了解一个环境变量:GOPATH。 此环境变量的默认值为当前用户的 HOME目录下的名为go文件夹对应的目录路径。0 码力 | 821 页 | 956.82 KB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a为什么Go语言值得学习 第3章:Go官方工具链 - 如何编译和运行Go程序 Go编程入门 第4章:程序源代码基本元素介绍 第5章:关键字和标识符 第6章:基本类型和它们的字面量表示 第7章:常量和变量 - 顺便介绍了类型不确定值和类型推断 第8章:运算操作符 - 顺便介绍了更多的类型推断规则 第9章:函数声明和调用 第10章:代码包和包引入 第11章:表达式、语句和简单语句 第12章:基本流程控制语法 最后,我们应该知道,没有一门语言是完美的。Go也一样。Go的设计中有很多 折衷和各种权衡。Go 1确实有一些不足。 比如,目前Go不支持任意类型的不变 量。这导致很多标准库中一些希望永不被更改的值目前被声明为变量。这是Go 程序中的一个潜在安全隐患。 本书由老貘 历时三年写成。目前本书仍在不断改进和增容中。你的赞赏是本 书和Go101.org网站不断增容和维护的动力。 (请搜索关注微信公众号“Go 101”或者访问github 链安装目录下的bin子目录路径必须配置在PATH环境变量中。 当使用安装程序 安装Go官方工具链时,安装程序很可能已经自动地将此配置好了。 Go官方工具链近来的版本均支持一个称为Go模块(Go modules)的特性,用来 管理项目依赖。 此特性在版本1.11中被试验性地引入并从版本1.16开始被默认 支持。 我们应该了解一个环境变量:GOPATH。 此环境变量的默认值为当前用户的 HOME目录下的名为go文件夹对应的目录路径。0 码力 | 608 页 | 1.08 MB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a为什么Go语言值得学习 第3章:Go官方工具链 - 如何编译和运行Go程序 Go编程入门 第4章:程序源代码基本元素介绍 第5章:关键字和标识符 第6章:基本类型和它们的字面量表示 第7章:常量和变量 - 顺便介绍了类型不确定值和类型推断 第8章:运算操作符 - 顺便介绍了更多的类型推断规则 第9章:函数声明和调用 第10章:代码包和包引入 第11章:表达式、语句和简单语句 第12章:基本流程控制语法 第2章:Go语言简介 10 最后,我们应该知道,没有一门语言是完美的。Go也一样。Go的设计中有很多折衷 和各种权衡。Go 1确实有一些不足。 比如,目前Go不支持任意类型的不变量。这导 致很多标准库中一些希望永不被更改的值目前被声明为变量。这是Go程序中的一个 潜在安全隐患。 本书由老貘历时三年写成。目前本书仍在不断改进和增容中。你的赞赏是本书和 Go101.org网站不断增容和维护的动力。 赞赏 装目录下的bin子目录路径必须配置在PATH环境变量中。 当使用安装程序安装Go 官方工具链时,安装程序很可能已经自动地将此配置好了。 Go官方工具链近来的版本均支持一个称为Go模块(Go modules)的特性,用来管理 项目依赖。 此特性在版本1.11中被试验性地引入并从版本1.16开始被默认支持。 我们应该了解一个环境变量:GOPATH。 此环境变量的默认值为当前用户的HOME目 录下的名为go文件夹对应的目录路径。0 码力 | 591 页 | 21.40 MB | 1 年前3
Go基础语法宝典关键字 go的二十五个关键字 简介 数据类型的定义 定义变量 常量 内置基础类型 Boolean 数值类型 字符串 错误类型 分组声明 iota枚举 Go程序设计的一些规则 array 、 slice 、 map array slice slice 有一些简便的操作 slice 有几个有用的内置函数 map make 、 new 操作 零值 流程控制 if method继承 method重写 interface 什么是interface interface类型 interface值 空interface interface函数参数 interface变量存储的类型 嵌入interface 反射 并发 goroutine channels Buffered Channels Range和Close Select 超时 runtime github.com/0voice/Introduction-to-Golang 关键字 Go语言设计的关键字,了解这些关键字有助于命名变量的冲突避免 go的二十五个关键字 简介 var 和 const 是 Go语言基础里面的变量和常量申明 package 和 import 用于分包和导入 func 用于定义函数和方法 return 用于从函数返回 defer0 码力 | 47 页 | 1020.34 KB | 1 年前3
Golang 入门笔记更多Golang资料包:扫码进入Github 1. 算术运算符 算数运算符就是对数值类型的变量进行运算的,比如,加减乘除。在Go中运用非常的多 算数运算符 除法演示 //说明,如果运算的数都是整数,那么除后,将会去除小数位 fmt.Println(10 / 4) //2 var n1 float32 = 10 / 4 fmt.Println(n1) //2 //如果我们希望保留小数,那么就需要有浮点数参与运算 Golang 的 ++ 和 -- 只能写在变量的后面,不能写在变量的前面,即,只有 a++, a-- 没有 ++a, --A 错误演示 5. Golang 的设计者去掉了 c/java 中自增和自减的容易混淆的写法,让golang 更加简介,统一(强制性) 测试题目 题目 1. 假如还有 97 天放假,请问:xx 个星期零 xx 天 2. 定义一个变量保存华氏摄氏度,华式摄氏度转换摄氏度的 个 bool 值 逻辑运算符 代码演示 1. && 也叫短路与; 如果第一个条件为 false , 则第二个条件不会判断,最终结果为 false 变量 语法基础 Hello World 语法基础 组成 关键字 标识符 变量 字符串 符号 分隔符 Go 语言一行代表一个语句的结束,不像 C 家族语言一样以分号结束 如果一个语句写多行就需要加一个分号,不推荐 字符串连接0 码力 | 2 页 | 511.29 KB | 1 年前3
Go Web编程过在终端中执行sudo apt-get install gcc libc6-dev来安装编译工具。 在Windows系统中,你需要安装MinGW,然后通过MinGW安装gcc,并设置相应的环境变量。 Go使用Mercurial进行版本管理,首先你必须安装了Mercurial,然后才能下载。假设你已经安装好Mercurial,执行 如下代码: 假设已经位于Go的安装目录 $GO_INSTALL_DIR下 bash后出现"ALL TESTS PASSED"字样时才算安装成功。 上面是Unix风格的命令,Windows下的安装方式类似,只不过是运行all.bat,调用的编译器是MinGW的gcc。 然后设置几个环境变量, export GOROOT=$HOME/go export GOBIN=$GOROOT/bin export PATH=$PATH:$GOBIN 看到如下图片即说明你已经安装成功 7 Go标准包安装 Go提供了每个平台打好包的一键安装,这些包默认会安装到如下目录:/usr/local/go (Windows系统:c:\Go),当然 你可以改变他们的安装位置,但是改变之后你必须在你的环境变量中设置如下信息: export GOROOT=$HOME/go export PATH=$PATH:$GOROOT/bin 如何判断自己的操作系统是32位还是64位? 如何判断自己的操作系统是32位还是64位?0 码力 | 295 页 | 5.91 MB | 1 年前3
Go语言基础
Golang Fundaments语言的身体(语法基本类似C语言) – Python 语言的模样(部分语法如Python的编程效率) – Java 语言的脑袋(能用面向对象思路解决问题) 基本知识学习 • 请按 go tour 浏览 – “基础” • 包,变量,函数 • 流程控制语句 • 指针、结构、数组与切片、Map – 方法与接口 – 并发 Hello world! 包与子包 • 包的代码在哪里? – Go标准包,如:math/rand • 常量 – 变量 – 函数 • 如果首字母大写,则是全局可访问的 函数申明 • 使用 func 关键字申明函数 • 在包中定义函数,在函数中不能定义函数 • 参数类型在参数名的右边 • 支持多值返回 • 支持有名返回值 • 不支持函数重载(静态多态)。相同函数名不 同签名,会被认为函数重复定义 取消重载,避免编程时一个名字多种含义 变量定义与赋值 • 使用 var 关键字申明变量 • 不申明类型,则编译器采用表达式类型推导机制 – 第七行不申明 int,变量按又表达式确定类型 – 函数内可采用短赋值 := ,简化变量类型申明 – 第11行,var java string = exp 强制编译器检查 exp为指定类型 • 变量定义不赋予值,则默认“零值” 变量能仅能是一种类型,除非显式转换 类型 • 基本类型 – bool – string – int int8 int160 码力 | 21 页 | 851.30 KB | 1 年前3
Hello 算法 1.1.0 Go版代码,直到这个条件不再满足。 1. for 循环 for 循环是最常见的迭代形式之一,适合在预先知道迭代次数时使用。 以下函数基于 for 循环实现了求和 1 + 2 + ⋯ + ? ,求和结果使用变量 res 记录。需要注意的是,Python 中 range(a, b) 对应的区间是“左闭右开”的,对应的遍历范围为 ?, ? + 1, … , ? − 1 : // === File: iteration int) int { res := 0 // 初始化条件变量 i := 1 // 循环求和 1, 2, ..., n-1, n for i <= n { res += i // 更新条件变量 i++ } return res } while 循环比 for 循环的自由度更高。在 while 循环中,我们可以自由地设计条件变量的初始化和更新步 骤。 第 2 章 复杂度分析 hello‑algo hello‑algo.com 21 例如在以下代码中,条件变量 ? 每轮进行两次更新,这种情况就不太方便用 for 循环实现: // === File: iteration.go === /* while 循环(两次更新) */ func whileLoopII(n int) int { res := 0 // 初始化条件变量 i := 1 // 循环求和 1, 4, 10, ...0 码力 | 383 页 | 18.48 MB | 1 年前3
共 29 条
- 1
- 2
- 3













