GO语言学习笔记1(基本概念,条件循环语句)
来源:互联网 发布:matlab编程作业答案 编辑:程序博客网 时间:2024/04/27 19:19
今天开始学习GO语言,下面是我的学习笔记
1.首先是基本的格式,package, main func和print。
package mainimport "fmt"func main() {fmt.Println("Hello, 世界")}
import (
"fmt"
"math/rand"
)
使用是使用rand.Intn(10)调用。
下面是函数的定义
func add(x int, y int) int {
return x + y
}
也可以写作
func add(x, y int) int {
return x + y
}
同时函数也可以有两个返回值return x, y 然后使用a, b := swap("hello", "world")
如果提前定义了返回的变量名称,则直接return即可
func split(sum int) (x, y int) {
x = sum * 4 / 9
y = sum - x
return
}
变量的声明和初始化
var i, j int = 1, 2
k := 3
print也可以输出多个变量 fmt.Println(i, j, c, python, java)
2. 基本类型
bool
string
int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
byte // alias for uint8
rune // alias for int32
// represents a Unicode code point
float32 float64
complex64 complex128
类型的强制转换不同于Java,使用int(i)进行
常量定义const Pi = 3.14,不使用:=
声明多个常量或者变量都可以使用 var () 和 const ()
Go里只有for 一种循环
for i := 0; i < 10; i++ {
sum += i
}
for 也可以当成 while使用
for sum < 1000 {
sum += sum
}
也可以 for ; x<1;{} 和 for {}
条件语句
if x < 3 {}
if v := math.Pow(x, n); v < lim {
return v
}
switch os := runtime.GOOS; os {
case "darwin":
fmt.Println("OS X.")
case "linux":
fmt.Println("Linux.")
default:
// freebsd, openbsd,
// plan9, windows...
fmt.Printf("%s.", os)
}
如果switch为空则类似于if
t := time.Now()
switch {
case t.Hour() < 12:
fmt.Println("Good morning!")
case t.Hour() <= 23:
fmt.Println("Good afternoon.")
default:
fmt.Println("Good evening.", t)
}
defer func,上一层返回后在执行,先进后出,下面输出为counting done 9 8 7 6 5 4 3 2 1 0
func main() {
fmt.Println("counting")
for i := 0; i < 10; i++ {
defer fmt.Println(i)
}
fmt.Println("done")
}
- GO语言学习笔记1(基本概念,条件循环语句)
- Go 语言条件语句和循环语句
- Go学习笔记(五)变量,常量,运算符,条件语句,循环语句
- Go 语言条件语句
- Go语言条件语句
- Go语言学习三 :循环语句
- Go 语言循环语句
- Go语言循环语句
- Go语言学习笔记 --- 控制语句之if判断,循环语句for, switch语句和跳转语句
- Go语言学习笔记(四)-控制语句
- Go语言学习二 :常数和条件语句
- plsql学习笔记(条件语句和循环语句篇)
- Javascript学习笔记-----条件语句、消息框、循环语句
- AppleScript学习笔记(四)条件语句和循环语句
- python学习笔记——循环语句条件语句
- perl_学习笔记_条件语句和循环语句
- python 学习笔记(2) 条件语句与循环语句
- Python学习笔记(三)-- 条件语句 + 循环语句
- TCP/IP协议
- A Presentation of the STL Vector Container
- ObjectAid 类图生产工具使用
- 利用JAXP开发包进行DOM方式解析XML文档
- Linux查看文件列表命令
- GO语言学习笔记1(基本概念,条件循环语句)
- 纸张开页的尺寸对比(图)
- poj1019 递推关系
- 怎么获取java项目中的文件
- 最完美的android仿ios开关按钮源码
- Java____利用自带包用MD5加密__关于图片上传的思考
- iOS 函数耗时测试
- EditView不可输入
- 开启我的博客人生