小言_互联网的博客

Golang------基础函数一

272人阅读  评论(0)

一、包管理

1、一个文件夹即为一个包。
2、在每个包中可以创建多个文件,也可创建多个包。
3、同一个包中的所有文件必须指定包名称,且必须相同

package main       #包名称,main包,同一个包中的文件必须相同
import "fmt"
func main() {
   
	fmt.Println("今天是星期四")
	}

1.1 包的分类

main包:如果是main包,则必须要写一个main函数,此函数为此项目的入口(main主函数)。编译后生成一个可执行文件。
非main包:用来将代码进行分类。不同的类型功能的代码放在不同的包内,好进行查找使用
在文件夹中编写功能时,首字母要大写。
如果是大写,认为是共有的功能,外部的包可以调用此功能。
如果是小写,认为是私有的功能,外部的包不能调用此功能。

二、输出

在终端将想要展示的数据显示出来

2.1 分类

2.1.1 内置函数

print //不换行输出
println //换行输出

package main

func main() {
   
	//内置函数
	print("好吃")
	print("好玩")
}

package main

func main() {
   
	//内置函数
	//print("好吃\n")
	//print("好玩\n")
	println("好吃")
	println("好玩")
	}


2.1.2 fmt包(推荐)

fmt.Print
fmt.Println

package main

import "fmt"

func main() {
   
    //fmt包
    fmt.Print("好吃")
	fmt.Print("好玩")
	}

package main

import "fmt"

func main() {
   

    //fmt包
    fmt.Println("好吃")
	fmt.Println("好玩")
	}

进程中由stdin/stdout/stderr。展示时应该在stdout中输出,但是内置函数会从stderr中输出,所以不推荐。

2.1.3 fmt格式化输出

package main

import "fmt"

func main() {
   
	fmt.Printf("%s喜欢吃炸鸡,%d一份外卖,%.4f打折,65%%","lic",15,6.99458)
}
----------------------------------------------------------------------------------------
lic喜欢吃炸鸡,15一份外卖,6.9946打折,65%

%s			//占位符"文本"
%d			//占位符 整数
%f			//占位符 小数(浮点数)
%.2f		//占位符 小数(保留小数点后2位,四舍五入)
100%%		//第二个%是百分比

三、注释

//				//单行注释
/*  */			//多行注释
Ctrl+?   		//快捷键:多行注释(注释类型为单行注释)

四、数据类型

4.1 整型

package main

import "fmt"

func main() {
   
    fmt.Println(666)
	fmt.Println(6 + 9)
	fmt.Println(6 - 9)
	fmt.Println(6 * 9)
	fmt.Println(6 / 9)
	fmt.Println(16 / 9)
	fmt.Println(16 % 9)		//取余
}
----------------------------------------------------------------------------------------
666
15
-3
54
0
1
7

4.2 字符串类型

"   "			//双引号引用
package main

import "fmt"

func main() {
   
	fmt.Println("sweet"+"persation")
	fmt.Println("1" + "2")
	fmt.Println(1 + 2)
}
----------------------------------------------------------------------------------------
sweetpersation				#字符串与字符串之间可以通过'+'相连接,但字符串不能与整形连接
12
3

4.3 布尔类型

package main

import "fmt"

func main() {
   
	fmt.Println(1 > 2)			//布尔类型判断真假 
	fmt.Println(1 < 2)
	}
----------------------------------------------------------------------------------------
false
true

五、变量

5.1 创建变量

变量名只能是:字母、数字、下划线,数字不能开头,不能使用go语言内置的关键字

关键字:breakdefaultfuncinterfaceselectcasedefergomapstructchanelsegotopackageswitchconstfallthroughifrangetypecontinueforimportreturnvar

方法一:声明+赋值

package main

import "fmt"

func main() {
   
	var flower string = "花"	//声明flower是一个字符串,给它赋值为花
	fmt.Println(flower)

	var age int=20				//声明age是一个整型数据,给它赋值为20
	fmt.Println(age)
	
	var flag bool=false			//声明flag是一个布尔值,给它赋值为false
	fmt.Println(flag)	
}
----------------------------------------------------------------------------------------20
false

方法二:先声明后赋值

package main

import "fmt"

func main() {
   
	var flower string			//声明flower是一个字符串
	flower = "花"				//给flower赋值
	fmt.Println(flower)

}
---------------------------------------------------------------------------------------
package main

import "fmt"

func main() {
   
	var name string
	fmt.Scanf("%s",&name)		//表示给name赋予了一个为%s的值,在后面执行时需要自己输入
	fmt.Println(name)
}

5.2 变量简写

方法一

方法一:var name = "xyw"
方法二:name := "xyw"
var v1,v2 = 11,12
v3,v4 := 33,44

方法二

var name,message,data string
name ="xyw"
message ="address"
......

方法三

#因式分解,声明变量,类型不同
package main

import "fmt"

func main() {
   

	var ( name = "xyw"
		age = 20
		message = "address"
		salary = 100000
		gender string			//只声明但不赋值,默认为""
		length int				//只声明但不赋值,默认为0
			   bool				//只声明但不赋值,默认为false
	)
	fmt.Println(name,age,message,salary,gender)			//声明变量后一定要使用
	}
	
xyw 20 address 100000 

5.3 变量的作用域

如果定义了大括号,那么大括号中的定义的变量:
●不能被上级使用
●可以在同级使用
●哪一级的括号内的只能在那一级括号及其内部括号内使用

5.3.1 全局变量

全局变量不能用":="简写
项目中寻找变量的最后一环

5.3.2 局部变量

全局变量、局部变量在shell函数博客涉及

5.4 赋值与内存

name := "xyw"
myname := name			//在此过程中,name:=xyw占用了一份内存,再执行myname时,并不是直接将myname指向"xyw",而是又占用了一份内存指向"xyw",与python不同
//使用int、string、bool这三种数据类型时,如果遇到变量的赋值则会拷贝一份。
package main

import "fmt"

func main() {
   

	name := "xyw"
	myname := name
	fmt.Println(name,&name)			//&name表示查看name的内存地址
	fmt.Println(myname,&myname)
	}

xyw 0xc00004a240
xyw 0xc00004a250


转载:https://blog.csdn.net/IvyXYW/article/details/114981335
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场