您的位置:首页 > 编程语言 > Go语言

GO语言学习笔记1(基本概念,条件循环语句)

2015-09-03 00:43 996 查看
今天开始学习GO语言,下面是我的学习笔记

1.首先是基本的格式,package, main func和print。

package main

import "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")

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: