Golang 基数基本写法

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结构体是一样的,不然报错哦
}
899 Views
分享你的喜爱
linwute
linwute

我要像梦一样自由,像大地一样宽容;
在艰辛放逐的路上,点亮生命的光芒;
我要像梦一样自由,像天空一样坚强;
在曲折蜿蜒的路上,体验生命的意义;

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注