四月十八号日报

今日学习内容

1:Go 程序的基本结构和要素

1.1包的概念、导入与可见性

包是结构化代码的一种方式:每个程序都由包(通常简称为 pkg)的概念组成,可以使用自身的包或者从其它包中导入内容,每个Go文件都属于且仅属于一个包,每个Go应用程序都包含一个名为main的包,一个Go程序是通过import关键字将一组包链接在一起。有如下方式

import "fmt"
import "os"

也可以这样

import "fmt";import "os"

或者

import(
    "fmt"
    "os"
)

可见性规则:当标识符以一个大写字母开头,如Group1,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(就像是C++的public);标识符如果以小写字母开头,则对包外是不可见的,但对整个包的内部是可见并且是可用的(就像C++中的private)。注意:如果你导入了一个包确没有使用它,则可能会报错,因为Go 的格言:“没有不必要的代码!”,(我在VSCode中发现会删除没有用的包)

1.2函数

定义一个函数最简单的格式

func functionName()

你可以在括号 () 中写入 0 个或多个函数的参数(使用逗号 , 分隔),每个参数的名称后面必须紧跟着该参数的类型。

在程序执行并完成初始化后,第一个调用(程序的入口点)函数是main.main(如C/C++),Go的代码风格是左大括号{必须与方法的声明放在同一行,这是编译器的强制规定,否则你在使用 gofmt 时就会出现错误提示:

 syntax error: unexpected semicolon or newline before {`

可以包含数据的变量(或常量),可以使用不同的数据类型或类型来保存数据。使用 var 声明的变量的值会自动初始化为该类型的零值。类型定义了某个变量的值的集合与可对其进行操作的集合。

1.3类型

类型可以是基本类型,如:int、float、bool、string;结构化的(复合的),如:struct、array、slice、map、channel;只描述类型的行为的,如:interface。

结构化的类型没有真正的值,它使用 nil 作为默认值(在 C 和 C++ 中是NULL或 0)。值得注意的是,Go 语言中不存在类型继承。

函数也可以是一个确定的类型,就是以函数作为返回类型。这种类型的声明要写在函数名和可选的参数列表之后,例如:

func FunctionName (a typea, b typeb) typeFunc

你可以在函数体中的某处返回使用类型为 typeFunc 的变量 var:

return var

一个函数可以拥有多返回值,返回类型之间需要使用逗号分割,并使用小括号 () 将它们括起来,如:

func FunctionName (a typea, b typeb) (t1 type1, t2 type2)

示例: 返回的形式:

return var1, var2

这种多返回值一般用于判断某个函数是否执行成功(true/false)或与其它返回值一同返回错误消息。

我们可以使用下面的方式声明变量:

var a IZ = 5

这里我们可以看到 int 是变量 a 的底层类型,这也使得它们之间存在相互转换的可能

如果你有多个类型需要定义,可以使用因式分解关键字的方式,例如:

type (
   IZ int
   FZ float64
   STR string
)

每个值都必须在经过编译后属于某个类型(编译器必须能够推断出所有值的类型),因为 Go 语言是一种静态类型语言。

*:2:对云产品知识进行复习准备考核**

原文地址:https://www.cnblogs.com/swtczb/p/11632601.html

时间: 2024-11-05 03:42:18

四月十八号日报的相关文章

四月二十八号日报

今日学习内容 Go语言函数 1.1介绍:Go里面有三种类型的函数: 普通的带有名字的函数 匿名函数或者lambda函数 方法 函数可以将其他函数调用作为它的参数,只要这个被调用函数的返回值个数.返回值类型和返回值的顺序与调用函数所需求的实参是一致的.在Go语言中不支持函数的重载(原因是函数重载需要进行多余的类型匹配影响性能) 1.2函数参数与返回值:相比于C/C++.Java等多返回值是Go的一大特性 1.2.1按值传递与按引用传递:Go 默认使用按值传递来传递参数,也就是传递参数的副本.如果你

四月十九号日报

今日学习内容 因为今天要进行考核,主要精力放在了红网云产品知识点的复习上面,然后进行了墙产品的部分测试,学习了解了禅道的使用方法. 1,Go语言的了解与在Linux下开发环境的搭建 2,VSCode下Go语言的安装与配置 3,Go 程序的基本结构和要素 4,Linux文件种类与扩展名 5,对云产品知识进行复习准备考核 这周主要进行了Go语言的初步了解在搭建环境的过程中遇到了问题,找徐伯辰师兄解决了,再就是复习红网云产品知识在星期五对我们实习生进行了一次考核,自己感觉还有一些知识点掌握的不太到位,

四月十二号日报

今日学习内容 关于TCP与UDP服务 TCP服务模型是面向连接的服务:在应用层数据报文开始流动之前,TCP让客户和服务器互相交换运输层控制信息.也提供可靠的数据传送服务:通信进程能够依靠TCP,无差错,按适当顺序交付所有发送的数据.TCP协议还具有拥塞控制机制. UDP是一种不提供不必要服务的轻量级运输协议,它仅提供最小的服务,UDP是无连接的,因此在两个进程通信前没有握手过程.UDP协议提供一种不可靠的数据传送服务,也就是说到大接收进程的报文也有可能是乱序的,UDP没有拥塞控制机制. Linu

四月十六号日报

今日学习内容 VSCode下Go语言的安装与配置 由于发现在Linux终端下写代码不是很方便,遂在Windows下配置开发环境 安装步骤 Go下载地址:Golang VSCode下载地址:VSCode 下载完成后安装一路默认就好了(安装路径可以自己设置) 注意事项: Go安装完成后可以在cmd中输入来安装是否正确 go version go env VSCode设置:当打开VSCode后新建一个后缀名为.go的文件,VSCode会提示自动安装Go插件,在文件中输入以下代码 package mai

四月十五号日报

今日学习内容 Go语言的了解与Linux下开发环境的搭建 起源:Go语言起源于2007年,并于2009年正式对外发布.Go语言的设计者是三位著名的IT工程师,Robert Griesemer,参与开发 Java HotSpot 虚拟机:Rob Pike:Go 语言项目总负责人,贝尔实验室 Unix 团队成员,参与的项目包括 Plan 9,Inferno 操作系统和 Limbo 编程语言:Ken Thompson:贝尔实验室 Unix 团队成员,C 语言.Unix 和 Plan 9 的创始人之一,

四月十一号日报

静态URL与动态URL的了解 动态页面的特征: 以ASP.PHP.JSP.ASP.net.Perl.或CGI等编程语言制作 不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页 内容存在于数据库中,根据用户发出的不同请求,其提供个性化的网页内容 内容不是存在于页面上,而是在数据库中,从而大大降低网站维护的工作量 动态页面的特征: 静态页面的URL链接是以.html.htm..shtml..xml为链接后缀 静态页面是存在于服务器上的一个文件,每个网页都是一个独立的文件 客

四月三十号日报

package main import "fmt" func main() { items := make([]map[int]int, 5) for i := range items { items[i] = make(map[int]int, 1) items[i][i] = 2 } fmt.Printf(" Value of items: %v\n", items) items2 := make([]map[int]int, 5) for _, item :=

小Z的创业经历 谢谢支持

写这篇文章的目的是跟大家分享下创业的一些想法,经历.希望对你有所帮助或有所思考.  我想用6篇文章介绍下前期创业经历 1.怎么创业了? 2.万事开头难,怎么开始呢? 3.我们的系统详情(上) 4.我们的系统详情(下) 5.怎么快速复制模式? 6.创业遇到的坑爹损友事件大曝光 关注二维码 可申请免费衬衫 大致情况      首先大致介绍下本人, 男 89年 ,工作在上海.曾经大学毕业后,做过记者,编辑,后向程序员,开始了长达5年的代 码生涯. 五年代码,现在已经达到了,心中无剑似有剑的地步了.,可

佳木斯

自传13.在佳木斯煤机厂----打铁锻练 一九六八年九月二十日我乘坐火车离开天津站直向东北方向开跋.一路上我提笔写成了一首<咏志(七律)>诗把我的感想尽情地抒发:年少岂能做井蛙,志在地角与天涯.招来海燕驱恶浪,扫去乌云见彩霞.绿水青山终有道,广天阔地必开花.面朝苍穹高声笑,万里神州是我家. 两日后的清晨我走出火车站举目观看佳木斯这座北国边塞小城.下着小雨身有点凉取出行李登上一辆布篷三轮车摇摇晃晃地前行.半小时后到达一座大楼前门牌写着煤炭部国营佳木斯煤矿机械厂.在厂部接待处办理了简单的手续后我便