Golang 基数基本写法:
1】//全局变量 圆括号
2】//定义变量
3】//生成随机数
4】//接收键盘输入
5】循环语句
6】结构体(大坑:相同结构体不同的package下不可使用,需要引用相同package下的结构体)
7】设计和引用方法涵
package main import ( "fmt" "math/rand" "time" ) var ( //全局变量 圆括号内为同类型 x = 1 y = 2 z = 3 ) var ABC = 123 //全局变量 type objAAA struct { //结构体 a1 int a2 float64 a3 string } func abc(x int,y string){ //定义方法函 return x+y } func main() { //定义变量 var a int = 0 var b string = "bbb" var c [3]int //3个数组 var d = false var e = [...]int{1, 2, 3, 4, 5} //拓展型数组定义 c[0] = 1 fmt.Println("整型:", a) // 打印 整型 fmt.Println("字符串:", b) // 打印 字符串 fmt.Println("数组长度:", len(c)) // 打印 数组长度 fmt.Println("布尔型:", d) // 打印 布尔型(真、假) fmt.Println("数组:", e) // 打印 数组 //引用结构体 // objAAA 这种情况下order的字段都是对应的默认零值 var order *objAAA = new(objAAA) //初始化 结构体 order.a1 = 10 order.a2 = 12.5 order.a3 = "Linwute" //end //引用方法涵 abc(1,2) //生成随机数 rand.Seed(time.Now().Unix()) //生成随机数 需要给时间,不然每次都出现一样的值 var xx = rand.Intn(10) //构建随机数 rand.Intn()是固定的 fmt.Println("生成随机数:", xx) //打印 //end //接收键盘输入 //var reader = bufio.NewReader(os.Stdin) //接收键盘输入 //var inputs, err = reader.ReadString('\n') //xxx, err = 为异常处理-必须 //fmt.Println("异常:", err) //打印 //fmt.Println("键盘输入:", inputs) //打印 ////循环语句 var arrXX = [...]int{1, 2, 3, 4} for i := 0; i < len(arrXX); i++ { //传统for 有安全问题 fmt.Print(arrXX[i]) } fmt.Println("\n====== range") for i := range arrXX { //ran ge 循环方法 安全性高 fmt.Println(arrXX[i]) } fmt.Println("\n====== range") for i, j := range arrXX { //索引 循环方法 fmt.Println(i, j) //i 为索引 j为值 } fmt.Println("\n====== break") for i := range arrXX { // 跳出循环 if arrXX[i] == 2 { fmt.Println(arrXX[i]) break //停止 } } fmt.Println("\n====== switch") var yy int = 1 switch yy { case 1: fmt.Println("switch:1") fallthrough //落空执行到下一个 case case 2: fmt.Println("switch:2") case 3: fmt.Println("switch:3") default: fmt.Println("default") } }
//结构体(对象)
package main import "log" type arrXX struct { //定义结构体 (对象) Id string Uid string objYY [1]struct { //数组形式 Y1 string Y2 [1]string //数组形式 } } var Arr_XX arrXX //引用结构体 (整个数据都会存到 Arr_XX 中)全局模式 func main() { var ArrZZ arrXX //引用结构体 (整个数据都会存到 Arr_XX 中)局部模式 Arr_XX.objYY[0].Y1 = "YYY1" //给结构体赋值 ArrZZ.Id = "1001" //给结构体赋值 X := funAAA(1, 2, "str").Id log.Panicln(X) //打印 } func funAAA(x int, y int, z string) arrXX { //定义 结构体模式方法涵 返回值为结构体模式 var name arrXX //引用结构体格式 name.Id = "101" //给 name 结构体赋值 (此时值仅存在name中) name.Uid = "102" name.objYY[0].Y1 = "103" name.objYY[0].Y2[0] = "104" //数组形 return name //返回值结构体模式 name结构体和 arrXX结构体是一样的,不然报错哦 }
903 Views