1.结构
package main // 声明 main 包,表明当前是一个可执行程序
import "fmt" // 导入内置 fmt
func main(){ // main函数,是程序执行的入口
fmt.Println("Hello World!") // 在终端打印 Hello World!
}
- 运行
go run main.go
2.变量常量数据类型
package main
import "fmt"
var ( // 这种因式分解关键字的写法一般用于声明全局变量
a int
b bool
)
func main(){
/**
变量 声明必须使用
var name type / var name1,name2 type
默认0 false ''
以下为nil
*/
// var a0 *int
// var a1 []int
// var a2 map[string] int
// var a3 chan int
// var a4 func(string) int
// var a5 error // error 是接口
var s float64
fmt.Printf("%v",s)
// 2.声明语句 := 只能用于函数体
intv := 1
fmt.Printf("%v", intv)
// 3.全局变量
fmt.Println(a,b)
// 4.值类型 (基本类型)布尔 数字 字符串
// 5.引用类型 (a) 指针类型(Pointer) 数组类型
// 结构化类型(struct)Channel 类型函数类型 切片类型 接口类型(interface)Map 类型
/*
常量
1.定义 const name [type] = (type可以省略)
2.用于枚举
3.iota 在 const关键字出现时将被重置为 0(const 内部的第一行之前),const 中每新增一行常量声明将使 iota 计数一次(iota 可理解为 const 语句块中的行索引)。
*/
// 2.
const (
Unknown = 0
Female = 1
Male = 2
)
println(Unknown,Female)
// 3.
const (
ia = iota //0
ib //1
ic //2
id = "ha" //独立值,iota += 1
ie //"ha" iota += 1
fi = 100 //iota +=1
ig //100 iota +=1
ih = iota //7,恢复计数
ii //8
)
println(ia,ib,ic,ii)
}
3.语句
package main
func main(){
//条件
a := 10
if a == 100 {
if a < 10{
} else {
}
} else {
}
/**
循环
1.for
for init; condition; post {}
for condition{}
for {}
for key,value := range mapName{}
for _, value := range oldMap
*/
// for i := 0; i <= 10; i++{
// }
// sum := 1;
// for ; sum <= 10; {
// sum = sum + sum;
// }
// for sum<=10{
// sum = sum + sum;
// }
str := []string{"lwx","lwx1"}
for i,v :=range str {
println(i , v)
}
}
4.函数
package main
func main(){
/**
func name( [param]) [return type ]{}
*/
a := max(1,2)
println(a)
b,c :=min(1,2)
println(b,c)
}
func max(n1, n2 int) int {
return n1
}
func min(n1, n2 int) (int,int) {
return n1,n2
}
标签:const,int,基础,语法,var,func,Go,main,iota
From: https://www.cnblogs.com/lwx11111/p/17709585.html