golang介绍
一、golang介绍
golang是Google开发的一种 静态强类型、编译型,并发型,并具有垃圾回收功能的编程语言。
二、语言特性
1.、自动垃圾回收
2、支持函数多返回值
3、并发强
三、golang程序基本语法
1、所有go源码以.go结尾
2、go程序执行入口是main()函数
3、go语言严格区分大小写
4、go语言编译时是一行一行编译的,所以代码一行不能写入多条的语句
5、go语言定义的变量和import的包,如果没有使用,就会报错
四、GO语言特殊字符
1、\t 指标符(tab建)
2、\n 换行符
3、\ 取消符号转义,(类似shell的\)
4、\r 回车键
五、GO语言注释
1、// 单行注释
2、/**/ 多行注释(/*注释内容*/)
六、Go语言代码规范
1、 缩进标准为一个tab的长度
2、运算符以一个空格隔开(var x = a + b)
3、go语言写法只能
func add(){ //大括号在这
}
不允许如下
func add()
{ //大括号在这
}
4、保留关键字
| break | default | func | interface | select |
| case | defer | go | map | struct |
| chan | else | goto | package | switch |
| const | fallthrough | if | range | type |
| continue | for | import | return | var |
| append | bool | byte | cap | close | complex | complex64 | complex128 | uint16 |
| copy | false | float32 | float64 | imag | int | int8 | int16 | uint32 |
| int32 | int64 | iota | len | make | new | nil | panic | uint64 |
| println | real | recover | string | true | uint | uint8 | uintptr |
5、golang语言hello world例子
package main
import "fmt" func main(){
fmt.Println("Hello World!")
}
七、变量
1、声明变量(如:声明一个n变量,类型为int)
var n int
n = 10
fmt.Println(n) 如果不定义类型,go会自己推导类型
如:
var x = 1
var y =1.2
fmt.Printf("Type: %T Value: %v\n", x, x)
fmt.Printf("Type: %T Value: %v\n", y, y)
结果:
Type: int Value: 1
Type: float64 Value: 1.2
2、简化变量声明与赋值
var x int
x = 3
上面两行等同于
x := 3
3、多变量声明
方法一、
var a1, a2, a3 int
fmt.Println(a1, a2, a3)
结果:
0 0 0 方法二、
var a1 ,a2, a3 = 1,"a2",3.3
fmt.Println(a1, a2, a3)
结果:
1 a2 3.3 方法三、(等价方法二)
a1 ,a2, a3 := 1,"a2",3.3
fmt.Println(a1, a2, a3)
4、golang变量注意事项
1、go语言定义的变量如果没有赋值、编译器会使用默认值,如int为0,string为""(空字符串)
2、变量在同一作用域内不能重名(数据类型也不可变,值可变)
如:
var i int = 1 定义了后就不能 i:= 2.2
golang介绍的更多相关文章
- Golang 介绍与安装
1.介绍与安装 Golang 是什么 Go 亦称为 Golang(按照 Rob Pike 说法,语言叫做 Go,Golang 只是官方网站的网址),是由谷歌开发的一个开源的编译型的静态语言. Gola ...
- Golang介绍以及安装
Go语言 Google开源 编译形语言 21世纪的C语言 Go语言的特点 简单易并发 开发效率高 执行性能好 Go语言应用的领域 服务端开发 日志处理 文件系统 监控服务 容器虚拟化 Docker k ...
- Golang语言的入门开始
一.golang介绍与安装 二.golang-hello world 三.golang的变量 四.golang的类型 五.golang的常量 六.golang的函数(func) 七.golang的包 ...
- go语言开发教程之web项目开发实战
Golang介绍Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性.谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件 ...
- GoWeb开发_Iris框架讲解(一)
Golang介绍 Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性.谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软 ...
- 【GoLang】golang 微服务框架 介绍
原文如下: rpcx是一个类似阿里巴巴 Dubbo 和微博 Motan 的分布式的RPC服务框架,基于Golang net/rpc实现. 谈起分布式的RPC框架,比较出名的是阿里巴巴的dubbo,包括 ...
- golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍
golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍 go语言爬虫框架:gocolly/colly,goquery,colly,chrom ...
- Golang Context 详细介绍
Golang context 本文包含对context实现上的分析和使用方式,分析部分源码讲解比价多,可能会比较枯燥,读者可以直接跳过去阅读使用部分. ps: 作者本着开源分享的精神撰写本篇文章,如果 ...
- Golang的字符编码介绍
Golang的字符编码介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Go里面内建仅支持UTF8字符串编码,因此如果你用fmt.Printf之类的函数无法将GBK,GB2312 ...
随机推荐
- Java开发笔记(二十七)数值包装类型
方法的出现缘起优化代码结构,但它的意义并不局限于此,正因为有了方法定义,编程语言才更像一门能解决实际问题的工具,而不仅仅是只能用于加减乘除的计算器.在数学的发展过程中,为了表示四则运算,人们创造了加减 ...
- Kotlin for循环使用
普通for循环 for(i in 1..4){ println(i) } 结果为1234 循环四次 反序for循环 for(i in 4 downTo 1){ println(i) } 结果为4321 ...
- Asp.Net MVC WebAPI的创建与前台Jquery ajax后台HttpClient调用详解
1.什么是WebApi,它有什么用途? Web API是一个比较宽泛的概念.这里我们提到Web API特指ASP.NET MVC Web API.在新出的MVC中,增加了WebAPI,用于提供REST ...
- vuex最详细完整的使用用法
来自:https://blog.csdn.net/qq_35430000/article/details/79412664#commentBox github仓库地址:https://github. ...
- 小tips:path的join和resolve的使用区别
1.连接路径:path.join([path1][, path2][, ...]) path.join()方法可以连接任意多个路径字符串.要连接的多个路径可做为参数传入. path.join()方法在 ...
- DB2批量插入性能对比
import ibm_db import random import time first_names = '赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏' \ '陶姜戚谢邹喻柏水窦章 ...
- HBase Rowkey 设计指南
为什么Rowkey这么重要 RowKey 到底是什么 我们常说看一张 HBase 表设计的好不好,就看它的 RowKey 设计的好不好.可见 RowKey 在 HBase 中的地位.那么 RowKey ...
- web框架开发-Django模型层(1)之ORM简介和单表操作
ORM简介 不需要使用pymysql的硬编码方式,在py文件中写sql语句,提供更简便,更上层的接口,数据迁移方便(有转换的引擎,方便迁移到不同的数据库平台)…(很多优点),缺点,因为多了转换环节,效 ...
- loadrunner使用https请求
1:使用函数 web_set_sockets_option:设置套接字的函数 例如:web_set_sockets_option("SSL_VERSION","TLS&q ...
- 实验吧 who are you
看到ip,然后提示是要把ip写到数据库里面,就想到了x-forwarded-for注入 扔burp里面试一下 确实有这个问题,从返回信息里面估计出来,应该是盲注,而且基于时间的盲注,试一下吧 测试延迟 ...