golang知识精要(一)】的更多相关文章

类型 go是**静态类型**语言,不能在运行期改变变量类型. 变量定义 使用var定义变量,自动初始化为零值: 如果提供初始值,可省略变量类型: 函数内部可使用:=定义变量. var x int // 自动初始化为0 var f float32 = 1.6 var s = "abc" func main(){ x := 123 } 多变量 可一次定义多个变量: 多变量赋值时,先计算所有相关值,然后再从左到有依次赋值. var x, y, z int var s, n = "a…
一.第一章 命令行参数可通过os.Args访问,os.Args是切片 切片遵循左闭右开原则,如sl[1:3]不包含下标为3的元素 for循环两种方式 方式一: for initial; condition; post { } 三部分中任一部分都可以省略 方式二: for idx, val := range os.Args[1:] { } 字符串连接 var s string = "a" + "b" strings.Join([]string{"a"…
java知识精要(一) 集合 Iterable v.s. Iterator 两者都是接口,在Collection继承的是Iterable. Iterable表达了集合具备迭代访问的能力,而Iterator表示实现,可以从小到大也可以从大到小. https://zhuanlan.zhihu.com/p/52366312 另外,我们在遍历集合时,尽量用iterator这种方式,可以在遍历中,修改集合,参考 使用Iterator需注意两点:a. 获取到Iterator变量后,仅能遍历一遍; b. it…
一.java数组 (疯狂java讲义 第4.5 ~ 4.6章节) 1) 声明形式: type[] arrayName; 推荐方式 type arrayName[]; 2) 初始化: 方式一: type[] arrayName; arrayName = new type[] {element1, element2, element3, ...} 方式二: type[] arrayName = {element1, element2, element3, ...} 方式三:报错 type[] arr…
02 | 命令源码文件 我们已经知道,环境变量 GOPATH 指向的是一个或多个工作区,每个工作区中都会有以代码包为基本组织形式的源码文件. 这里的源码文件又分为三种,即:命令源码文件.库源码文件和测试源码文件,它们都有着不同的用途和编写规则. 对于 Go 语言学习者来说,你在学习阶段中,也一定会经常编写可以直接运行的程序.这样的程序肯定会涉及命令源码文件的编写,而且,命令源码文件也可以很方便地用go run命令启动. 那么,我今天的问题就是:命令源码文件的用途是什么,怎样编写它? 这里,我给出…
03 | 库源码文件 在我的定义中,库源码文件是不能被直接运行的源码文件,它仅用于存放程序实体,这些程序实体可以被其他代码使用(只要遵从 Go 语言规范的话). 这里的"其他代码"可以与被使用的程序实体在同一个源码文件内,也可以在其他源码文件,甚至其他代码包中. 那么程序实体是什么呢?在 Go 语言中,程序实体是变量.常量.函数.结构体和接口的统称.我们总是会先声明(或者说定义)程序实体,然后再去使用. 比如在上一篇的例子中,我们先定义了变量name,然后在main函数中调用fmt.P…
一.面授班级: 基础级:3天知识精讲(含案例分享+现场演练) 上课时间:上午9:00-12:00,下午1:30-4:30分 考试时间:第3天课程结束后5:30-6:30分 1 个小时闭卷考试   专业级:4天课程安排(含案例分享+现场演练)串讲.模考.冲刺预测 上课时间:上午9:00-12:00,下午1:30-4:30分 考试时间:通常在培训后一周的周六上午9:00-11:30进行2.5 个小时参加开卷考试   备注:基础级和专业级培训是同一本教材和讲义,套班学习,只是考核要点不同,基础级考察知…
知乎社区核心业务 Golang 化实践 - 知乎 https://zhuanlan.zhihu.com/p/48039838…
原创,转载请注明出处! 最开始用图形来模仿文字进行各种角度的倒立和排列,后来切换为文字后,有很多问题.总结如下: 1.程序在画图形和画文字方面不一样,图形的是从原点开始(0,0),而文字则从文字的基线开始(0,baseline) 2.在增加角度偏移时,文字或图形的高宽会产生变化(偏∠45度时达到最大),这时候为了让它们顶点对齐,需要计算偏移量(用三角函数) 3.在绘图时,会先旋转“画布”(描述可能不准确),再绘制文字.此时要往回旋转,否则下一个图形会顺着这个角度继续画. 4.为了让图形保持固定宽…
代码如下: func GetTriangleAreaByVector(x vector.Vector3,y vector.Vector3,z vector.Vector3) float64 { //根据三角形三个点坐标求面积 //先算三角形三个边的长度 a := vector.GetDistance(x,y) b := vector.GetDistance(x,z) c := vector.GetDistance(y,z) s := (a + b + c) / 2 area := math.Sq…