Go语言入门

目录

前言——碎碎念

环境安装

配置环境变量

变量的定义

 数据类型 

 数字型

字符与字符串

数据类型转换

运算符 

算术运算符

关系运算符

逻辑运算符

位运算符(二进制)

赋值运算符 

其他运算符(指针)

键盘的输入与输出(交互)

流程控制

选择结构

循环结构

函数

函数的定义

函数的声明和调用

可变参数 

参数传递

值传递

引用传递

递归函数

延迟函数 

 函数的类型

匿名函数

回调函数

闭包

教程


前言——碎碎念

  大学时期的我一直纠结于编程语言的选择,直到我关注的一个博主 “英雄哪里出来”  他解答过这个问题。

  原话我记不清了大概意思是不管哪种语言都会有 “很厉害或者很菜的人” ,最重要的是先学好一门语言(不管哪种),然后拥有能快速入门其他语言并应用起来的能力。


最近空闲时间我就看了Go的基础语法(先简单入了个门,Go也应用于游戏服务端,万一以后会用到呢)。


Go语法学习网站:Go by Example 

Go语言Web方向学习网站:Go Web Examples - Learn Web Programming in Go by Examples


go01 - 简介和准备_哔哩哔哩_bilibili 

Go语言是一门编译语言。

在你运行程序之前,Go 首先使用编译器把你的代码转换成机器能够读懂的 1和 0。

它会把你所有的代码编译成一个可执行文件,在编译的过程中,Go编译器能够捕获一些错误。

不是所有的编程语言都使用这种方式。
Python、Ruby 等很多语言都是使用解释器,随着程序的运行,一个语句一个语句的进行翻译。但这也意味着 bug 可能就潜伏在你还没有测试过的路径上。


环境安装

地址:Go安装包下载

下载完是一个安装包直接安装,使用安装包安装在系统变量的环境变量Path中会自动把Go环境配置好

用户变量的Path可能会自动配置到C盘,可以自己改一下


安装完成后测试 

配置环境变量

打开高级系统设置——》环境变量

在自己设置的GOPATH目录里新建三个文件夹 (官方推荐项目的目录结构)

打开命令行窗口查看有没有配置好

开发工具可以下载GoLand或者VSCode(我用的VSCode)

【go】一、go语言vscode开发环境_vscode 运行go-CSDN博客

变量的定义

有些变量名重复我都注释掉了,可以打开注释自己练习一下

package main

import "fmt"


//全局变量
var name string = "李四"


func main(){
	//fmt.Println("hello world!")  //输出语句
	// var name string = "www"     //定义变量  
	// var age int = 23
	// fmt.Println(name)
	// fmt.Println(age)
	// var (
	// 	name1 string
	// 	age1 int
	// 	addr string
	// )
	// fmt.Println(name1,age1,addr)
	// name1 = "111"
	// age1 = 24
	// addr = "222"
	// fmt.Println(name1,age1,addr)
	// // := 自动推导数据类型
	// name3 := "www"
	// age3 := 23
	// fmt.Println(name3,age3)
	// fmt.Printf("%T,%T",name3,age3) //打印什么类型

	// var num int
	// num=100
	// fmt.Printf("num:%d,内存地址:%p",num,&num)  //取地址符号 &  num:100,内存地址:0xc00000a0b8

	/*变量交换*/
	// var a int = 100
	// var b int = 200
    // b,a = a,b   //a,b的值互换
	// fmt.Println(a,b)  //200 100

	// a,b := test()
	// fmt.Println(a,b)

	// c,_ := test()  // _(匿名变量) 当不用第二个返回值时用 _ 接收 
	// fmt.Println(c) 

	/*局部变量*/
	// var name string = "李五"
	// fmt.Println(name)  //优先打印局部变量

	/*常量*/
	// const URL string = "www.baidu.com"  //显示定义(明确什么类型)
	// const URL2 = "www.baidu.com"        //隐式定义(不明确类型)
	// const a,b,c = 3.14,"www",false
	/*
	  iota,特殊常量,可以认为是一个可以被编译器修改的常量。
	  iota是go语言的常量计数器iota 在 const关键字出现时将被重置为 0(const 内部的第一行之前),const 中每新增一行常量声明将使 iota 计数一次(iota 可理解为 const 语句块中的行索引)。
      iota 可以被用作枚举值
	*/
	// const(
	// 	d = iota
	// 	e = iota
	// 	f = iota
	// )
	// fmt.Println(URL,URL2)
	// fmt.Println(a,b,c,d,e,f)  //3.14 www false 0 1 2

	// const(
	// 	a = iota       //0
	// 	b              //1
	// 	c              //2
	// 	d = "hahaha"   //hahaha   iota 3
	// 	e              //hahaha   iota 4
	// 	f = 100        //100      iota 5
	// 	g              //100      iota 6
	// 	h = iota       //iota 7
	// 	i              //iota 8
	// )
	// fmt.Println(a,b,c,d,e,f,g,h,i) //0 1 2 hahaha hahaha 100 100 7 8
}

func test()(int,int){
	return 100,200
}

 数据类型 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值