Golang学习笔记
一、基础
1. Hello World程序
demo:
package main
import "fmt" // 注释
//注释
func main() {
fmt.Printf("Hello World\n")
}
执行:
go run demo.go
编译成可执行文件
go build demo.go
2. 声明和赋值
func main() {
var a int
var b string = "aaaa"
var (
c int
d bool
)
conse i = 10
e := 15
a = 1
b = "hello"
c = 2
d = false
f,g:=12,13
if (a + c + e < 100 && d) {
fmt.Printf("Hello World\n")
} else {
fmt.Printf(b)
}
}
- 变量的类型在变量名后面,所以不能同时声明和赋值
- 在2.4后,支持a:=1这种类型,类似于动态类型的声明了,这时会自动识别变量的类型
- 可以在var里面声明多个变量
- 声明了的变量一定要用,不然编译会错误
- const定义常量,类似var,而已可以定义多个
字符串转换
func main() {
var s string ="aaaaaa"
sb:=[]byte(s)
s1:=string(sb)
fmt.Printf("%c\n",sb[0])
fmt.Printf("%s\n",s1)
fmt.Printf("%s\n",s)
}
直接访问字符串的下标是不可以的,需要先转换为byte类型,通过string函数转换回来。
其他操作符
Precedence Operator(s)
Highest :
* / % << >> & &^
+ - | ^
== != < <= > >=
<-
&&
Lowest
||
3. 控制结构
3.1. if
func main() {
if a:=1;a<0{
fmt.Printf("a is less 0")
}else{
fmt.Printf("a is bigger 0")
}
}
- and &&
- or ||
- un !=
- ==
- <= >=
2. for
for有三种形式
- for init;condition;post {} 类似C的for
- for condition {} 类似C的while
- for {} 类似C的for(;
Golang学习笔记的更多相关文章
- golang学习笔记20 一道考察对并发多协程操作一个共享变量的面试题
golang学习笔记20 一道考察对并发多协程操作一个共享变量的面试题 下面这个程序运行的能num结果是什么? package main import ( "fmt" " ...
- golang学习笔记19 用Golang实现以太坊代币转账
golang学习笔记19 用Golang实现以太坊代币转账 在以太坊区块链中,我们称代币为Token,是以太坊区块链中每个人都可以任意发行的数字资产.并且它必须是遵循erc20标准的,至于erc20标 ...
- golang学习笔记18 用go语言编写移动端sdk和app开发gomobile
golang学习笔记18 用go语言编写移动端sdk和app开发gomobile gomobile的使用-用go语言编写移动端sdk和app开发https://blog.csdn.net/u01249 ...
- golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍
golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍 go语言爬虫框架:gocolly/colly,goquery,colly,chrom ...
- golang学习笔记16 beego orm 数据库操作
golang学习笔记16 beego orm 数据库操作 beego ORM 是一个强大的 Go 语言 ORM 框架.她的灵感主要来自 Django ORM 和 SQLAlchemy. 目前该框架仍处 ...
- golang学习笔记14 golang substring 截取字符串
golang学习笔记14 golang substring 截取字符串golang 没有java那样的substring函数,但支持直接根据 index 截取字符串mystr := "hel ...
- golang学习笔记13 Golang 类型转换整理 go语言string、int、int64、float64、complex 互相转换
golang学习笔记13 Golang 类型转换整理 go语言string.int.int64.float64.complex 互相转换 #string到intint,err:=strconv.Ato ...
- golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题
golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题 今天测试了重新建一个项目生成新的表,然后复制到旧的项目 ...
- golang学习笔记11 golang要用jetbrain的golang这个IDE工具开发才好
golang学习笔记11 golang要用jetbrain的golang这个IDE工具开发才好 jetbrain家的全套ide都很好用,一定要dark背景风格才装B 从File-->s ...
- golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息
golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息 Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放 ...
随机推荐
- js兼容性问题
javscript 浏览器兼容性问题: scrollTop = document.documentElement.scrollTop || document.body.scrollTop; scrol ...
- 【Linux/Ubuntu学习 13】ubuntu上好用的pdf软件okular
step 1: 安装 sudo apt-get install okular step 2: 注释 按 F6 快捷方式打开注释功能,你会发现太神奇了. step 3: 中文配置 如果安装完成后中文显示 ...
- 【JS对象、JSON字符串】之间的相互转换
在Firefox,chrome,opera,safari,ie9,ie8等浏览器直接可以用JSON对象的stringify()和parse()方法. 1.JSON.stringify(obj)将JS对 ...
- POJ 3164 Command Network 最小树形图模板
最小树形图求的是有向图的最小生成树,跟无向图求最小生成树有很大的区别. 步骤大致如下: 1.求除了根节点以外每个节点的最小入边,记录前驱 2.判断除了根节点,是否每个节点都有入边,如果存在没有入边的点 ...
- Angularjs 中使用指令绑定点击事件
项目中,模板中的菜单是jQuery控制的,在Angularjs中就运行不到了,因为菜单项是ng-repeat之后的. 如html <ul id="main-menu"> ...
- ORACLE之表
本文章中的表在以后的例子中会用到. 首先有t_fn_person和t_fn_dept表. ) primary key not null, person_code ) not null, person_ ...
- shell--学习 sed
sed:数据流编辑器 读一行到内存处理一行然后输出一行. 模式空间: sed:默认不编辑源文件 sed [option] ADDRESSCOMMAND file 1.起始行. 结束行 sed ...
- hihocoder#1054 : 滑动解锁(深度优先搜索)
描述 滑动解锁是智能手机一项常用的功能.你需要在3x3的点阵上,从任意一个点开始,反复移动到一个尚未经过的"相邻"的点.这些划过的点所组成的有向折线,如果与预设的折线在图案.方向上 ...
- 网络安全-PGP实现电子邮件加密
PGP机制
- Java之奇偶组合
写一个函数,将已知数组的奇数项组合成一个新的数组,在函数中调用该数组,并且输出新数组的内容. 定义一个数组,该数组为{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 ...
- golang学习笔记20 一道考察对并发多协程操作一个共享变量的面试题