Golang基础语法
2022/8/11 6:25:46
本文主要是介绍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基础
这篇关于Golang基础语法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-04-01got an unexpected keyword argument
- 2024-03-30维多利亚的秘密 golang入坑系统
- 2024-03-29mongodb sort by date
- 2024-03-29go swagger
- 2024-03-25mongodb cdc
- 2024-03-25how to use go in vscode
- 2024-03-22mongooseserverselectionerror: connect econnrefused ::1:27017
- 2024-03-21pymongo insert_many
- 2024-03-18projection mongodb
- 2024-03-14clickhouse-go