GO语言学习笔记(1)

目录

一、go语言结构

1.语言结构示例

2.语言结构

二、go基础语法 

1.行分隔符:

2.注释:

3.标识符:

4.字符串连接: 

 5.关键字:

 6.格式化字符串:

三、变量

1、申明一个变量值,变量类型,并初始化


一、go语言结构

1.语言结构示例

package main
 
import "fmt"
 
func main() {
fmt.Println("Hello World!")
}

2.语言结构

        1). 第一行代码 package main 定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main。package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。
        2). 下一行 import "fmt" 告诉 Go 编译器这个程序需要使用 fmt 包(的函数,或其他元素),fmt 包实现了格式化 IO(输入/输出)的函数。
        3). 下一行 func main() 是程序开始执行的函数。main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(如果有 init() 函数则会先执行该函数)。
        4). 下一行 /*...*/ 是注释,在程序执行时将被忽略。单行注释是最常见的注释形式,你可以在任何地方使用以 // 开头的单行注释。多行注释也叫块注释,均已以 /* 开头,并以 */ 结尾,且不可以嵌套使用,多行注释一般用于包的文档描述或注释成块的代码片段。
        5).下一行 fmt.Println(...) 可以将字符串输出到控制台,并在最后自动增加换行字符 \n。
使用 fmt.Print("hello, world\n") 可以得到相同的结果。
Print 和 Println 这两个函数也支持使用变量,如:fmt.Println(arr)。如果没有特别指定,它们会以默认的打印格式将变量 arr 输出到控制台。
        6). 当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Group1,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 protected )。

二、go基础语法 

1.行分隔符:

        Println函数会在行末尾自动加上换行符

package main
 
import "fmt"
 
func main() {
fmt.Println("Hello World!")
fmt.Println("Println函数会在行末尾自动加上换行符")
}

2.注释:


单行注释以//开头,多行注释以 /* 开头,并以 */ 结尾
// 单行注释
/*
我说多行注释1
我说多行注释2
我说多行注释3
*/ 

3.标识符:


        标识符用来命名变量、类型等程序实体。一个标识符实际上就是一个或是多个字母(A~Z和a~z)数字(0~9)、下划线_组成的序列,但是第一个字符必须是字母或下划线而不能是数字。
以下是有效的标识符:
mahesh   kumar   abc   move_name   a_123
myname50   _temp   j   a23b9   retVal
以下是无效的标识符:
* 1ab(以数字开头)
* case(Go 语言的关键字)
* a+b(运算符是不允许的)

4.字符串连接: 

         Go 语言的字符串连接可以通过 + 实现:

import "fmt"
 
func main() {
fmt.Println("golang"+"python")
}

 5.关键字:

         下面列举了 Go 代码中会使用到的 25 个关键字或保留字:
 break default func interface select
 case defer go map struct 
 chan else goto package switch
 const fallthrough if range type
 continue for import return var

 6.格式化字符串:

 // 常用的使用%d 表示整型数字,%s 表示字符串

package main
 
import "fmt"
 
func main() {
//fmt.Println("Hello World!")
//fmt.Println("Println函数会在行末尾自动加上换行符")
//fmt.Println("golang" + "python")
var today = "星期六"
var number = 6
fmt.Printf("今天是%s,今天在本周的排号为%d", today, number)
}

三、变量

1、申明一个变量值,变量类型,并初始化

(1)两种方式,方式1:使用var声明

package main
 
func main() {
var str string = "hello"
var num int = 123
println(str, num)
}

 (2)使用:=声明

package main
 
func main() {
//var str string = "hello"
//var num int = 123
//println(str, num)
mystr := "very good"
mynum := 345
println(mystr, mynum)
 
}

2、申请变量未初始化,则会给默认值

数值类型初始值0

布尔类型为fasle

字符串为""

其他类型为nil

func main() {
//var str string = "hello"
//var num int = 123
//println(str, num)
 
//初始值0
var num1 int
fmt.Println("num1初始值为:", num1)
//初始值""
var str1 string
fmt.Println("str1初始值为:", str1)
//布尔类型为 false
var flag bool
fmt.Println("flag初始值为:", flag)
//其他类型为nil
var a *int
var b []int
var c map[string]int
var d chan int
var e func(string) int
var f error
fmt.Println("a,b,c,d,e,f的初始值分别为:", a, b, c, d, e, f)
}

  3、根据值自行判定变量类型   

package main
 
import (
"fmt"
"reflect"
)
 
func main() {
 
var str2 = "hello"
var num2 = 25
var flag2 = true
fmt.Println("str2的类型为:", reflect.TypeOf(str2))
fmt.Println("num2的类型为:", reflect.TypeOf(num2))
fmt.Println("flag2的类型为:", reflect.TypeOf(flag2))
}

4、多变量声明:

使用逗号隔开

package main
 
import "fmt"
 
func main() {
 
 
var str3, str4, str5 string = "hello", "World", "ok"
num3, num4, num5 := 2, 3, 4
fmt.Println(str3, str4, str5)
fmt.Println(num3, num4, num5)
 
}

5、引用类型变量

&可查看引用变量的地址

package main
  
import "fmt"
  
func main() {
  
var a1 = 10
var b1 = "ok"
fmt.Println("a1=", a1)
fmt.Println("b1=", b1)
fmt.Println("a1=", &a1)
fmt.Println("b1=", &b1)
}

  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大王算法

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值