GO语言学习二(基础)

一、包

每个 Go 程序都是由包组成的。

程序运行的入口是包 main 

二、导入

两种方式:

多个 import 

import "fmt"
import "math"

用圆括号组合了导入,打包导入

import (
	"fmt"
	"math"
)


三、函数

函数可以没有参数或接受多个参数

当两个或多个连续的函数命名参数是同一类型,则除了最后一个类型之外,其他都可以省略

函数可以返回任意数量的返回值

Go 的返回值可以被命名,并且就像在函数体开头声明的变量那样使用

样例一:

package main

import "fmt"

func swap(x, y string) (string, string) {
	return y, x
}

func main() {
	a, b := swap("hello", "world")
	fmt.Println(a, b)
}
样例二:

package main

import "fmt"

func split(sum int) (x, y int) {
	x = sum * 4 / 9
	y = sum - x
	return
}

func main() {
	fmt.Println(split(17))
}

四、变量

var 语句定义了一个变量的列表;跟函数的参数列表一样,类型在后面

var 语句可以定义在包或函数级别

变量定义可以包含初始值,每个变量对应一个。

如果初始化是使用表达式,则可以省略类型;变量从初始值中获得类型。

短声明变量:在函数中, := 简洁赋值语句在明确类型的地方,可以用于替代 var 定义


 := 结构不能使用在函数外

样例一:

package main

import "fmt"

var i, j int = 1, 2

func main() {
	var c, python, java = true, false, "no!"
	fmt.Println(i, j, c, python, java)
}

样例二:

package main

import "fmt"

func main() {
	var i, j int = 1, 2
	k := 3
	c, python, java := true, false, "no!"

	fmt.Println(i, j, k, c, python, java)
}

五、基本类型

Go 的基本类型有Basic types

bool

string

int  int8  int16  int32  int64
uint uint8 uint16 uint32 uint64 uintptr

byte // uint8 的别名

rune // int32 的别名
     // 代表一个Unicode码

float32 float64

complex64 complex128

样例一:

package main

import (
	"fmt"
	"math/cmplx"
)

var (
	ToBe   bool       = false
	MaxInt uint64     = 1<<64 - 1
	z      complex128 = cmplx.Sqrt(-5 + 12i)
)


func main() {
	const f = "%T(%v)\n"
	fmt.Printf(f, ToBe, ToBe)
	fmt.Printf(f, MaxInt, MaxInt)
	fmt.Printf(f, z, z)
}

零值:

  • 数值类型为 0 ,
  • 布尔类型为 false ,
  • 字符串为 "" (空字符串)。

类型转换

表达式 T(v) 将值 v 转换为类型 T

var i int = 42
var f float64 = float64(i)
var u uint = uint(f)


六、常量

常量的定义与变量类似,只不过使用 const 关键字

常量可以是字符、字符串、布尔或数字类型的值

常量不能使用 := 语法定义

样例一:

package main

import "fmt"

const Pi = 3.14

func main() {
	const World = "世界"
	fmt.Println("Hello", World)
	fmt.Println("Happy", Pi, "Day")

	const Truth = true
	fmt.Println("Go rules?", Truth)
}




猜你喜欢

转载自blog.csdn.net/leilecoffee/article/details/78326752