首先,我用的是vscode的下载完了go环境后,再下载go插件
之后就是第一个输出
`package main
import ( "fmt" )
func main() { fmt.Print("kkk") } `
变量
go的变量与Java不同,java是类型在名称之前。 而go是再之后
var a int 定义一个整型变量
var a ,b int =1,2 有一个类型列表
a:=1 直接定义加赋值,按照赋值类型给定类型
语法
if-else
if 7%2==0{ fmt.Print("偶数") } esle fmt.Print("奇数")
再此中也不要用; 结束一行管一句 if之后也不要括号
switch
跟Java差不多但case之后就不要break case也可以进行比较
循环
在go中只有for循环
for i:=1; i<10;i++{ }
如果for没有条件就是死循环
数组
定义
var a [5]int
循环用range
for i,v:= range a{ i是下标,v就是数组的值 }
也跟java差不多
切片
跟java的list差不多,动态扩展长度
a:=make([]String,5,5)
第二参数是长度,第三是容量
可以用a[0:3] 取值左闭右开
map
a:=make(map[string]int)
中括号里是key,外面是值
for i,v:= range a{ i是key,v就是key对应的值 }
函数
func add(x,y int) int{ return x+y }
x,y是参数,之后就是返回的类型
指针
var a *int b := 5 fmt.Println(b) a = &b b = 4 fmt.Println(*a)
之后a值也就该变4
结构体
type User struct{ username string age int }
也相同于java 的类
异常 Go 语言通过内置的错误接口提供了非常简单的错误处理机制。
error 类型是一个接口类型,这是它的定义:
type error interface {
Error() string
}
我们可以在编码中通过实现 error 接口类型来生成错误信息。
函数通常在最后的返回值中返回错误信息。使用 errors.New 可返回一个错误信息:
func Sqrt(f float64) (float64, error) {
if f < 0 {
return 0, errors.New("math: square root of negative number")
}
// 实现
}