Go语言的学习开篇

本文是Go语言的学习开篇,介绍了Go语言的基本语法,包括变量声明、数据类型、控制结构(if、else、for)、类和方法的定义以及指针的使用。此外,还展示了如何声明不可修改的常量和执行方法。通过实例代码,详细解析了Go语言的基础操作。
摘要由CSDN通过智能技术生成

Go语言的学习开篇


前言

Go的生态不是非常好但是也够用了。本内容讲述最基本的东西


提示:本篇不讲述安装

一、运行Go语言和基本变量的声明

/*
运行go要main[这个是程序的主启动方法],当然还有testing(用于单个方法的测试)
package main 

func main() {
	
}
*/
package main 

/* 
导包是的方式有种这两种
import "fmt"
或 
import (
	"fmt"
)
*/

func main() {
	// 声明string
	var str1 = "helloWord" // 没有char类型
	fmt.Println("这个string",str1)
	// 或者
	str2 := "helloWord"
	fmt.Println("这个string",str2)
	
	// 声明int
	var intType1 = 1 // 有int int8 int32 int64(默认) uint(无负数)也有8、32、64(默认)(输入最长的就19个位且19位的第一位不能为9)例子:(8999999999999999999)
	fmt.Println("这个int",intType1)
	// 或者
	intType2 := 1
	fmt.Println("这个int",intType2 )
	
	// 声明float
	var floatType1 = 0.1 // 如果 var floatType1 = 0.0 输出就为 0  没有double类型 有float32和float64(默认)
	fmt.Println("这个float", floatType1)
	// 或者
	floatType2 := 0.1
	fmt.Println("这个float", floatType2)
	
	// 声明数组
	var intArray1 = make([]int, 0) // 声明map  make(map[T]T) 这个T表示任何类型(不是单单指基本类型,是任何类型【方法也是种类型】)
	fmt.Println("这个int类型的数组", intArray1)
	// 或者
	intArray2 := make([]int, 0)
	fmt.Println("这个int类型的数组", intArray2)
	
	// 声明类
	fmt.Println("类的声明和赋值----------------------------")
	type cat struct {
		name  string
		money int	
	}
	// 给cat赋值
	var p = cat{
		name:  "玛莎拉蒂",
		money: 1,
	}
	/* 或
	var p = cat{}
	p.name = "玛莎拉蒂"
	p.money = 1
	或
	p := cat{
		name:  "玛莎拉蒂",
		money: 1,
	}
	或
	p := cat{}
	p.name = "玛莎拉蒂"
	p.money = 1
	*/
	cat1 := cat{}
	cat1.name = "玛莎拉蒂"
	cat1.money = 1
	fmt.Println("这个是一个cat类", cat1)
	cat2 := cat1
	cat2.name = "红旗"
	fmt.Println("这个是一个cat类", cat1)
	fmt.Println("这个是一个cat类", cat2)

	// 声明指针与指针赋值(定义指针用* 取指针用&)
	fmt.Println("声明指针与指针赋值----------------------------")
	var cat3 *cat
	cat3 = &cat{}
	cat3.name = "大黄蜂"
	cat3.money = 2
	fmt.Println("这个是一个指针cat类型", cat3)

	cat4 := cat3
	cat3.name = "奔驰"
	fmt.Println("这个是一个指针cat类型", cat3)
	fmt.Println("这个是一个指针cat类型", cat4)
	
	// 声明不可修改变量
	fmt.Println("声明不可修改变量----------------------------")
	const (
		name = "宝马"
	)
	fmt.Println("这个是一个不可修改的name", name)
	
	// 声明方法
	fmt.Println("声明方法----------------------------")
	run()
	
	// 声明要传参方法
	fmt.Println("声明要传参方法----------------------------")
	intRun(2)
	
	// 声明要传参且有返回值的方法
	fmt.Println("声明要传参且有返回值的方法----------------------------")
	fmt.Println("该方法返回值为:",returnIntRun(3))
	
	
	// 声明在类里面的方法
	fmt.Println("声明在类里面的方法----------------------------")
	p := Cat{}
	// 或 p := &Cat{}
	p.objIntRun()
	
	
}

func run() {
	fmt.Println("这个是一个run的方法")
}

func intRun(i int) {
	fmt.Println("这个是一个要传参run的方法,传入的数值为:", i)
}

func returnIntRun(i int) int {
	fmt.Println("这个是一个要传参run的方法,传入的数值为:", i)
	return i
}
/*
或
func returnIntRun(p int) (i int) {
	i = p
	fmt.Println("这个是一个要传参run的方法,传入的数值为:", p)
	return
}
*/

type Cat struct {
	name string
	mo   string
}

func (c Cat) objIntRun() {
	fmt.Println("这个是一个类方法")
}
/*
或
func (c *Cat) objIntRun() {
	fmt.Println("这个是一个类方法")
}
*/


// 最后在这里说明一下如上面的Cat首字母大写的可以在其它文件调用它,如果首字母没有大写的就只能当前文件使用,在方法、类、变量中规则是一样的


二、for、if、else、else if

1.if、else、else if

 // condition 为判定条件 == != 字符串判空 == "" 对象判空 == nil 、||(或) &&(且)
if condition {

}else if condition {

}else {

}

2.for

package main 

func main() {
	// 第一种for循环
	for i := 1; i <=10; i++ {
		fmt.Println(i)
	}
	// 第二种for循环 这个"3131"可以换成数组k为(在数组和字符串为下标,在map为key),v为值
	for k,v :=range "3131" {
			fmt.Println("这个是一个不可修改的name", v,i)
		}
	// 第三种for循环 为死循环【select{}这个可以保证程序不死】(没有 while)
	for {
	
	}
}

总结

a :=“继续学习,使我们的知识更加丰富。”;
fmt.Printf(“%s”,a);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值