其他分享
首页 > 其他分享> > Golang基础语法

Golang基础语法

作者:互联网

 

Golang基础语法

通过以下指令查看Go的工作目录

go env GOPATH

Hello,World!

package main // 必须

// 导入其他包裹
import (
    "fmt"	// 输入输出
)

// 主函数
fun main() { 
    fmt.Println("Hello, Wolrd!")
}

定义变量

定义的变量必须被使用,否则将会报错

var a int 		// 定义整型, 默认值为0
var b string 	// 定义字符串,默认为空字符串

// 其他定义方法
a := x
b := "hi"

逻辑判断

if a > 1  {
	fmt.Println("bigger than 1")
} else if a < 0 {
	fmt.Println("less than 0")
} else {
	fmt.Println("something else")
}

if a > 1 && a < 10 {
	fmt.Println("Right")
}

元组

元组(Tuple) 不是 数组(Array)

定义元组

元组长度不可变

//定义元组
var a [3] int

a := [3]int{1,2,3}

// 修改元组中元素的值
a[1] = 9


切片

切片的长度可变

a := []int{1,2,3}
a = append(a,10) // 结尾添加值为10的变量

原理:切片创建一个新的长度翻倍的元组,将旧元组的值拷贝到新元组中,并添加新值,释放旧元组所占内存。

映射

类似于词典

//初始化映射
numbers := make(map[string]int)

//映射不固定大小
numbers["one"] = 1
numbers["two"] = 2

//删除关键词
delete(numbers, "one")

循环判断

go 语言中没有while循环

for i := 0; i < 5; i++ {
	fmt.Println(i)
} 

但可以通过for循环间接实现

i := 0
for ; i<5; {
	fmt.println(i)
	i++
}

// 无限循环
for {
    fmt.println(i)
    i++
}

for循环遍历元组、映射

a := []int{1,2,3,4,5}
for k, v := range a {
	fmt.Println(k, v)
}

for k, v := range numbers {
	fmt.Println(k, v)
}

定义函数

定义

func add(x int, y int) int {
	return x + y
}

可以不返回值,也可以返回多个值

func do_math(x int, y int) (int,int) {
	return x+y, x*y
}

还可以返回一个函数(闭包)

......

指针

n := 0
add(&n)
fmt.Println(n)

func add(n *int) {
	*n = *n + 1
}

自定义数据类型

go语言并非完全的面向对象语言,没有类

// 定义结构体
type cat struct {
    name string
    age int
}

func main() {
    cat1 := cat{name: "kitty", age: 3}
    cat1.age=4
    fmt.Println(cat1)
}

可以给自定义类型创建方法

type MyFloat float64

func (n MyFloat) show() {
	fmt.Println(n)
}

func main() {
    var a MyFloat = 1.5
    a.show()
}
//同样可以使用指针

本文参考:【硬货】新时代最流行的编程语言?10分钟学会Golang基础

 

标签:语法,定义,int,fmt,基础,元组,Golang,func,Println
来源: https://www.cnblogs.com/Piako-code/p/16573857.html