go语言的学习

1.go语言怎么导入自定义的包 运行的时候引入自定义包报错 提示信息说在C:\go\src\mathClass(from $GOROOT) 和 C:\Users\Administrator\go\src\mathClass(from $GOPATH)两个文件夹下找不到mathClass这个包,所以如 ...

Golang 条件语句

在Go语言中,条件语句主要包括有if 、 switch 与 select。 注意: Go语言中没有三目运算符,不支持 ?: 形式的条件判断。 if 语句 最简单的if语句 最简单的 if 语句的基本语法: if 条件判断 { // 在当前条件判断为true时执行 } 条件判断如果为真(true),那 ...

Go-GTK 信号处理

信号处理 简介 现在我们已经把按钮添加到窗口中了,但是有一个问题:点击按钮没有反应。我们既然添加的是按钮,肯定希望当我们点击一个按钮时,能够做一些事情,这就用到了信号处理。 学习图形界面编程,我们会经常接触到“信号”这个名词。GTK中的“信号”实际上是一种软件中断。“中断”在我们生活中经常遇到,譬如 ...

Go-GTK 控件

控件 控件简介 控件是对数据和方法的封装。控件有自己的属性和方法。属性是指控件的特征。方法是指控件的一些简单而可见的功能。如按钮就是一个控件,这个按钮是方形的,里面有张图片,这是我们能看到外观属性,同时,这个按钮具备被人按下的功能。 GTK 中控件主要分为两类:容器控件,非容器控件。 容器控件:它可 ...

Go-GTK 简单的空白窗口

简单的空白窗口 在环境配置完成之后,需要在 github 上下载 go-gtk。 在配置好的 GOPATH 的 src 目录下用 git 下载即可。 当然,也可以在 GOPATH 以外的目录使用 go mod。 在goland中的设置: 第一次运行点击这里: 示例代码: package main i ...

Go-GTK go 版GTK环境搭建

Go版GTK环境搭建 下载安装MSYS2 官网下载 MSYS2(Minimal SYStem 2)是一个MSYS的独立改写版本,主要用于shell命令行开发环境。同时它也是一个在Cygwin(POSIX兼容性层)和MinGW-w64(从"MinGW-生成")基础上产生的,追求更好的互操作性的Wind ...

golang 二维切片初始化

在做一些算法题时经常要用到二维切片,所以这里整理一下创建二维切片的方法,方便日后查阅。 package main import "fmt" func main() { // 初始化方法1 row, column := 3, 4 var answer [][]int for i := 0; i < r ...

为什么 Go 语言没有三元运算符

这个问题在这里给出了解答:https://stackoverflow.com/questions/60561748/why-go-doesnt-have-a-tenary-conditional-operator 虽然Go中没有三元运算操作,但是可以使用以下方法实现同样的结果: if expr { ...

Golang 运算符

运算符 Go语言中常见的运算符有算术运算符, 赋值运算符, 关系运算符, 逻辑运算符等. 算术运算符 运算符 描述 示例 结果 + 相加 10 + 3 13 - 相减 10 - 3 7 * 相乘 10 * 3 30 / 相除 10 / 3 3 % 取余 10 % 3 1 注意: 自增( ++ )和自 ...

Golang 常量

相对于变量, 常量是恒定不变的值, 经常用于定义程序运行期间不会改变的那些值. 常量的定义使用 常量的声明与变量的声明很相似, 只是把 var 换成了 const, 常量在定义的时候必须赋值. 在程序开发中, 我们用常量存储一直不会发生变化的数据. 例如: Π, 身份证号码等. 像这类数据, 在整个 ...

牛客网做算法题时 golang 读取输入的方法

直接看个例子: 每行包含两个整数 a 和 b 对于每行输入对应输出一行 a 和 b 的和 输入 1 5 输出 6 使用 fmt.Scan 按空格读取 fmt.Scan 只识别空格,同时会将换行判断为空格,做法如下 package main import ( "fmt" "io" ) func mai ...

Golang 占位符

我们前面在输出与输入字符串类型, 整数类型等都指定了对应的格式化. 那么Go语言中还有哪些格式化呢? 格式 含义 %% 一个 % 字面量 %b 一个二进制整数值(基数为2), 或者是一个用科学计数法表示的指数为2的浮点数. %c 字符型. 可以把输入的数字按照ASCII码相应的转换为对应的字符. % ...

Golang 字符和字符串的区别

关于字符与字符串的区别: 字符: 单引号 往往只包含一个字符, 转义字符除外: \n 字符串: 双引号 字符串有一个或者多个字符组成 字符串都是隐藏了一个结束符: \0 下面通过代码来看一下两者的区别: package main import "fmt" func main() { var a by ...

Go 其八 错误机制

Go的错误机制 与其他主要编程语言的差异 没有异常机制 error类型实现了error接口 可以通过errors.New来快速创建错误实例 //error类型实现了error接口 type error interface { Error() string } //可以通过errors.New来快速创 ...

Go 其七 空接口与断言

空接口与断言 空接口可以表示任何类型 通过断言来将空接口转换为定制类型 v, ok := p.(int) //ok=true时转换成功 Go接口最佳实践倾向于使用更小的接口,很多接口只包含一个方法,目的是让实现者负担更小 例如 type Reader interface { Read(p []byt ...

Go 其六 重载,重写,覆盖 && DuckType 补充

关于重载,重写,覆盖的基本概念要分清楚, Go中确实是不支持重载的, 官方给出的解释是 其他语言的经验告诉我们,有各种同名但签名不同的方法有时是有用的,但在实践中也可能令人困惑。关于重载运算符,似乎更方便,但是同样的,没有重载会更简单。 因此这么设计的目的其实 使Go语言保持简单 这一核心目标 而关 ...

Golang 基本数据类型

Go语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有切片、结构体、函数、map、通道(channel)等。 Go 语言的基本类型和其他语言大同小异。 1. 整型 整型可以分成以下两个大类: 按长度分为:int8、int16、int32、int64 对应的无符号整型:uint8、 ...

Golang 输入

前面我们所写的程序, 都是直接给变量赋值. 但是在很多情况下, 我们希望用户通过键盘输入一个数值, 然后存储到某个变量中, 接着将该变量的值取出来, 进行操作. 那么Go语言中怎么接收用户的键盘输入呢? 具体操作如下: 第一种形式:fmt.Scanf() package main import "f ...

Golang 输出

输出就是将数据信息打印到电脑屏幕上. 本节我们就来学习一下Go语言中的三种输出方式: fmt.Print()、fmt.Println()、fmt.Printf(). fmt.Print() fmt.Print() 主要的一个特点就是打印数据时 不换行. package main import "fm ...

<123···36>