2.1Go语言特性
1.1.2. 编程语言类型
静态语言,动态语言
静态语言:强类型语言 定义变量,必须指明数据类型,存储对应类型的数据。 例如java,go,c 动态语言:弱类型语言 定义变量,赋值过程决定变量类型 如js,python
1.1.3. Go程序执行流程
对源代码编译成二进制后运行
.go代码源文件 > go build > 可执行文件(.exe或linux二进制命令) > 运行结果
对源代码直接运行
.go代码文件 > go run > 结果
源代码 编译且运行(不会生成二进制命令)
二者区别
1.使用go build编译生成的二进制的程序,可以直接放在同类系统上直接运行,无须go开发环境
2.go run运行代码,在另一台及其上,仍然需要go开发环境,否则无法运行
3.go build,编译器会对程序依赖的库文件打包在可执行文件中,因此可执行文件体积稍大
4.windows环境go build生成的二进制命令文件,名字以.exe结尾
5.Linux环境go build 生成一个同名的二进制命令
1.1.4. Go语言注意事项
1.Go代码都是以.go后缀
2.Go代码的执行入口函数是main()函数
3.Go语言严格区分大小写
4.Go代码语句结尾不需要分号,编译器自动识别
5.Go代码按行进行编译,一行尽量只写一条语句
6.Go语言的简洁性使得代码中不得含有未使用的变量,以及未使用的包
7.Go语言通过大括号控制代码
8.使用go fmt 统一代码风格
1.1.5. Go语言的转义字符(escape char)
\t 一个制表符,代表一次tab
\n 换行符
\\ 转义代表 \
\" 转义代表 "
\r 一个回车,从当前行的最前面开始输出,会覆盖以前的内容,常配合\r\n换行使用
1.1.6. Go语言注释
代码注释是用于解释程序的文字,注释可以提高代码可读性
// 行注释
//本行已被注释 /* */块注释 /* 本段落被注释
本段落被注释*/ 对于行注释和快注释,被注释的内容不会被Go编译器执行
注意: 块注释中不得嵌套块注释
1.1.7. Golang官方标准API文档
https://golang.org/pkg 1) API (Application Programming Interface,应用程序编程接口)是 Golang 提供的基本编程接口。
2) Go 语言提供了大量的标准库,因此 google 公司 也为这些标准库提供了相应的 API 文档,用于告 诉开发者如何使用这些标准库,以及标准库包含的方法。
3) Golang 中文网 在线标准库文档: https://studygolang.com/pkgdoc
1.1.8. Go语言命名
编码:源码文件必须是 UTF-8 格式,否则会导致编译器出错。
命名:采用 camelCasing 风格(驼峰命名法),不建议使用下划线。
1.1.9. 编码格式
ASCII 美国标准信息交换码
中国:GBK,中文常用字符
台湾:大五码 unicode编码,万国码,统一全世界的编码,把所有编码进行排号,拥有自己的编码,不兼容其它码表
UTF-8 变长字符集
2.1Go语言特性的更多相关文章
- C# 3.0新语言特性和改进(一)
引言 关于C#3.0的特性,园子里已经有了一大把,可能大家都很熟悉了,虽然本人开发中使用过,但自己还是需要记录一下,总结一下.同时也是后面写Linq知识的基础.希望有兴趣的朋友,可以看看. C# 3. ...
- 【转】浅思OC的语言特性
算了算,学习IOS已经有一段时间了.今天花了点时间思考一下OC的语言特性,让自己的心不要那么浮躁,注重基础,回归本源. OC做为一门面向对象语言,自然具有面向对象的语言特性,如封装.继承.多态.他具有 ...
- Pro ASP.NET MVC –第四章 语言特性精华
C#语言有很多特性,并不是所有的程序员都了解本书我们将会使用的C#语言特性.因此,在本章,我们将了解一下作为一个好的MVC程序员需要了解C#语言的特性. 每个特性我们都只是简要介绍.如果你想深入了解L ...
- 浅思OC的语言特性
算了算,学习IOS已经有一段时间了.今天花了点时间思考一下OC的语言特性,让自己的心不要那么浮躁,注重基础,回归本源. OC做为一门面向对象语言,自然具有面向对象的语言特性,如封装.继承.多态.他具有 ...
- XAML 名称范围 (x:) 语言特性
本节介绍为 Windows 运行时实现的 XAML 语言特性的参考信息. 本部分内容 主题 描述 x:Class 属性 配置 XAML 编译,在标记和代码隐藏之间连接分部类.代码分部类在一个独立的代码 ...
- C++ 语言特性的性能分析
转载:http://www.cnblogs.com/rollenholt/archive/2012/05/07/2487244.html 大多数开发人员通常都有这个观点,即汇编语言和 C 语 ...
- C# 动态语言特性,dynamic 关键字研究
1 动态语言简介 支持动态特性的语言现在大行其道,并且有继续增长的趋势.比如 Ruby 和 Python, 还有天王级的巨星 --- JavaScript. 现在一个程序员说自己对 Jav ...
- 理解Javascript的动态语言特性
原文:理解Javascript的动态语言特性 理解Javascript的动态语言特性 Javascript是一种解释性语言,而并非编译性,它不能编译成二进制文件. 理解动态执行与闭包的概念 动态执行: ...
- c#跟objective-c语言特性
c#跟objective-c语言特性的对比 拿c#语言跟objective-c做个对比,记录下自己认为是差不多的东西. 学过objc的人相信对category这个东西肯定不陌生,它可以让我们在没有源码 ...
随机推荐
- MySql -- 数据结构
现在的数据表不单单只是存储数据,还有的是设计功能和快速处理数据的结构功能: 首先,我们在设计数据库的时候,我们要先分清楚,那些是要单纯的存储数据的(固定),然后再设计出来数据的表(流动) 你懂我意思吧 ...
- CRS-0184 Cannot communicate with the CRS daemon
事件背景 rman清理脚本异常.导致磁盘空间爆满(一个环境变量没有设置正确) 释放磁盘空间,进行rman清理 之后,领导把实例重启,但是ams实例没有关闭 环境 系统 : AIX 数据库: Oracl ...
- ps 和 top
ps 进程和线程的关系: (1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程. (2)资源分配给进程,同一进程的所有线程共享该进程的所有资源. (3)处理机分给线程,即真正在处 ...
- 【JAVA基础】08 面向对象3
1. 多态 多态polymorhic概述 事物存在的多种形态. 多态前提 要有继承关系 要有方法重写 要有父类引用指向子类对象 案例演示 代码体现多态 class Demo1_Polymorphic{ ...
- 【集群实战】sersync
1. sersync介绍 sersync功能: 实时同步: sersync组成: sersync==inotify+rsync inotify: 监控某个目录下面"文件/目录"是否 ...
- confluence+jira
/opt/atlassian/confluence/confluence/WEB-INF/lib mysql-connector-java-5.1.7-bin.jar atlassian-extras ...
- 自动安装带nginx_upstream_check_module模块的Nginx脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #!/bin/bash useradd -s /sbin/no ...
- linux多线程同步的四种方式
1. 在并发情况下,指令执行的先后顺序由内核决定.同一个线程内部,指令按照先后顺序执行,但不同线程之间的指令很难说清楚是哪一个先执行.如果运行的结果依赖于多线程执行的顺序,那么就会形成竞争条件,每次运 ...
- Programming Languages_05 FWAE
FWAE : Concrete syntax <FWAE> ::= <num> | {+ <FWAE> <FWAE>} | {- <FWAE> ...
- C - Ordering Pizza CodeForces - 867C 贪心 经典
C - Ordering Pizza CodeForces - 867C C - Ordering Pizza 这个是最难的,一个贪心,很经典,但是我不会,早训结束看了题解才知道怎么贪心的. 这个是先 ...