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编译器是一行一行进行编译的,因此一行只有一条语句,不能把多条语句写在同一行,否则会报错