go基础语法篇|青训营

79 阅读2分钟

golang基础

# Golang特点:

1. 高性能,高并发

2.语法简单,学习曲线平缓

3. 丰富的标准库

4. 完善的工具链

5.静态链接

6. 快速编译

7. 跨平台

8. 垃圾回收

# Hello world

代码如下

在控制台通过go run xxx.go直接运行

package main

import (
	"fmt"
)

func main() {
	fmt.Println("hello world")
}

变量

golang变量名由字母、数字、下划线组成,首个字符不能为数字

变量声明格式:var 变量名 类型

变量批量声明:var(变量名 类型....)

通常用 变量名 :=值 的形式声明

在声明变量时加上const可以变为常量

package main

import (
	"fmt"
)

func main() {

	var a = "in"

	var b, c int = 1, 2

	var d = true
	g := a + "f"
	fmt.Println(a, b, c, d) // initial 1 2 true 0 0
	fmt.Println(g)          // initialapple

	const s string = "const"
	const h = 500000000
	const i = 3e20 / h
	fmt.Println(s, h, i)
}

数组

数组定义: var 变量名 [size]int size为长度,如果不确定可以使用...代替数组的长度,编译器会自动推断数组长度

package main

import "fmt"

func main() {
	var a2=[5]int{1,2,3,4,5}
	var a3=[...]int{1,2,3,4,5,6,7}

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

函数

无需声明原型

支持不定变参

支持多返回值

支持命名返回参数

支持匿名函数和闭包

不支持重载

不支持默认参数

不支持嵌套,一个包不能有两个名字一样的函数

代码如下

package main

import "fmt"

func sum(a int)(num int){
	num=a
	return num+a

}
func main() {
	a:=3
	fmt.Println(sum(a))
}

结构体

golang中可以使用type关键字来定义自定义类型

声明格式:

type 结构体名 struct{
    结构体变量 变量类型
    结构体变量 变量类型
    ...
}

代码如下

package main

import "fmt"

type student struct {
	name string
	age  int
}

func main() {
	s := student{"LiHua", 18}
	str := s.name
	fmt.Println(str)

}

Go语言开发注意事项

1.GO源文件以go为拓展名

2.Go应用程序的执行入口是main()函数

3.Go语言严格区分大小写

4.Go语言每个语句后不需要:(Go语言会在每行后自动加上)

5.Go编译器是一行一行进行编译的,因此一行只有一条语句,不能把多条语句写在同一行,否则会报错