Go语言中文网 为您找到相关结果 5268

string相关函数

len():内建函数,查找字符串长度。 如果字符串中有中文,需要将其转换为[]rune类型: r := []rune(str) for i:=0;i < len(r);i++{ fmt. Println(r[i]) } 将字符串转整数:v,ok := strconv.Atoi("2") 将整数转字符串:v,ok := strconv.Itoa(2) 将字符串转成[]byte: v := []byte("dd") 将数字转换为n进制为,返回字符串: v := strconv.FormatInt(123,2) 查找子串,返回bool类型:b := strings.Contains("abc","b") 查找子串的个数,返回整数类型:i := strings.Count("ehfos","e") ...阅读全文

博文 2020-05-14 21:33:04 雪上霜

学习Go-第一天-安装

下载Go语言开发包 大家可以在Go语言官网(https://golang.google.cn/dl/)下载 Windows 系统下的Go语言开发包,如下图所示。 Go语言安装包下载页面 这里我们下载的是 64 位的开发包,如果读者的电脑是 32 位系统的话,则需要下载 32 位的开发包,在上图所示页面中向下滚动即可找到 32 位开发包的下载地址,如下图所示。 其他版本的Go语言安装包 注意:下载 Windows 版本的Go语言开发包时尽量选择 MSI 格式,因为它可以直接安装到系统,不需要额外的操作。 安装Go语言开发包 双击我们下载好的Go语言开发包即可启动安装程序,如下图所示,这是Go语言的用户许可协议,无需管它,直接勾选“I accept ...”然后点击“Next”即可。 许可协议 ...阅读全文

博文 2020-04-26 13:33:09 小刺挠儿

Golang 学习笔记:程序结构

Go语言的程序元素 Go语言包含了五种程序符号,分别是标识符(identifier)、关键字(keyword)、运算符(operator)、分隔符(delimiter)与字面量(literal)。这五种程序元素组合成各种表达式和语句。 标识符标识符是用于标识变量、函数或任何用户自定义项目的名称(程序实体) 标识符可分为两类,一类是用户定义的标识符,作为程序实体存在;另一类是预定义标识符,它们在Go语言中的源代码被声明(如数据类型)。还有一个特殊的标识符,叫空标识符,记作 "_",一般用在变量声明与包的导入中。例如,在Go语言程序中,若存在一个没有使用的变量a,那么编译时就会报错,因为Go语言要求存在的程序实体必须被使用,这时就可以使用这样一句 _=a 的代码,编译器就会认为已经使用了变量a(...阅读全文

博文 2020-06-03 13:32:41 sunlingbot

[Go - Basic] 基本变量类型转换

数字转字符串 import "strconv" int -> string strconv.Itoa(i int) string int64 -> string strconv.FormatInt(i int64, base int) string base = 10 字符串转数字 import "strconv" string -> int strconv.Atoi(s string) (int, error) string -> int64 strconv.ParseInt(s string, base int, bitSize int) (i int64, err error) base = 10 bitSize = 6...阅读全文

开发环境-windows

一、下载 golang ,下载后点击安装 国内下载地址 https://studygolang.com/dl 二、配置环境变量 GOPATH : go的工作目录,可以自定义,在该目录下一般需要创建3个文件夹,也可以只创建src文件夹 bin : go编译后的可执行的二进制文件 pkg:go编译生成的中间文件 src : go资源文件,存放第三方库和项目代码 注: 使用 go get 下载第三方包时需要进入src目录下再执行 go get 命令 GOROOT : go的安装目录,eg: D:\go GOBIN : go安装目录下的 bin 目...阅读全文

博文 2020-06-08 01:33:18 hellocassiel

Golang 基础(二)

常量常量使用关键字 const 定义,用于存储不会改变的变量。无法在程序运行过程中修改它的值。存储在常量中的数据只可以是布尔型、数字型(整数型,浮点型和复数)和字符串型。例如: 格式:const identifier [type] = value const Pi = 3.141592658 const a = 3 Go语言中,可以省略类型说明符 type ,Go的编译器可以根据变量的值来推断它的类型,例如: const a string = "abc" // 显式类型定义 const a := "abc" // 隐式类型定义 另外,未定义类型的常量会在必要时候根据上下文来获得相关类型,例如: var n int f(n + 5) // 无类型的数字型常量"5" 它的类型再这会变成int 常...阅读全文

learn go with tests 学习笔记(三) 指针和错误

知识点 接收者 type Circle struct { Radius float64 } func (c Circle) Area() float64 { return 0 } 声明方法的语法跟函数差不多,因为他们本身就很相似。唯一的不同是方法接收者的语法 func(receiverName ReceiverType) MethodName(args) 当方法被这种类型的变量调用时,数据的引用通过变量 receiverName 获得。在其他许多编程语言中这些被隐藏起来并且通过 this 来获得接收者。 把类型的第一个字母作为接收者变量是 Go 语言的一个惯例。 r Rectangle 断言优于逻辑 当测试用例不是一系列操作,而是事实的断言时,测试才清晰明了。 列表测试驱动 声明结构体以创建...阅读全文

博文 2020-06-02 17:32:51 硌手小石头

5. Go语言中的数组与切片

文章首发自公众号:Go编程时光 《Go编程时光》,一个能带你学习 Go 语言的专栏,同时欢迎搜索我的同名公众号【Go编程时光】(排版精美更适合阅读),第一时间获取Go语言干货。 系列导读 1. 一文搞定Go语言开发环境的搭建 2. Go 语言中五种变量创建的方法 3. Go语言中的整型与浮点型 4. Go语言中byte、rune与字符串区别? 1.7 1. 数组 数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成。因为数组的长度是固定的,所以在Go语言中很少直接使用数组。 声明数组,并给该数组里的每个元素赋值(索引值的最小有效值和其他大多数语言一样是 0,不是1) // [3] 里的3 表示该数组的元素个数 var arr [3]int arr[0] = 1 ar...阅读全文

博文 2020-04-01 11:35:00 王一白

MAC环境下安装并配置golang开发环境

一、安装安装brew install go验证go version二、配置GOPATH1. 查看环境变量go env2. 配置环境变量cd ~ls -all查看是否有.bash_profile文件,如果没有,则vim创建。输入如下export GOPATH=/Users/zhangkaizhong/goexport GOBIN=$GOPATH/binexport PATH=$PATH:$GOBIN使立即生效source ~/.bash_profile三、说明GOROOT:安装目录(go语言安装目录)。GOPATH:工程目录(自己工程项目目录)。GOBIN:可执行文件目录。PATH:将go可执行文件加入PATH中,使GO命令与我们编写的GO应用可以全局调用。GOPATH包含三个目录:bin、p...阅读全文

博文 2020-05-20 16:53:41 zhangkaizhong

【Golog】包

正文 package main import ( "fmt" "math/rand" ) import "math/cmplx" func main() { fmt.Printf("Now you have %g problems.\n", math.Sqrt(7)) } 这里这个头部有的这个package main有点像Java一样,这里的主函数入口func main()暂时没看到类型和返回值。 但是按照官网import支持两种方式一个是小括号,还有就是支持像python那样的一个一个import。感觉用小括号更好看吧。引入规则也是一样的可以引入包下的某部分如:math/rand。暂时不清楚能不能像c++一样指定自己在某个文件夹下的包。 可以看到这里的输出是类似c的那种输出形式。不知道有没...阅读全文

博文 2020-05-05 17:32:43 石渊友

Golang interface

1_CdjOgfolLt_GNJYBzI-1QQ.jpeg 接口概念 接口 即一组方法定义的集合,定义了对象的一组行为,由具体的类型实例实现具体的方法。换句话说,一个接口就是定义(规范或约束),而方法就是实现,接口的作用应该是将定义与实现分离,降低耦合度。习惯用“er”结尾来命名,例如“Reader”。接口与对象的关系是多对多,即一个对象可以实现多个接口,一个接口也可以被多个对象实现。 ​接口(interface) 是Go语言整个类型系统的基石,其他语言的接口是不同组件之间的契约的存在,对契约的实现是强制性的,必须显式声明实现了该接口,这类接口称之为“侵入式接口”。而Go语言的接口是隐式存在,只要实现了该接口的所有函数则代表已经实现了该接口,并不需要显式的接口声明。 接口的作用 ​接口是实现...阅读全文

博文 2020-04-09 18:32:49 frederick_hou

Go语言常量与变量初识

标识符和关键字 标识符 标识符只能以字母和_组成,并且只能以字母和_开头。 关键字 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 变量 变量声明 变量需要先声明,再使用。其语法如下: var name string 其数据类型有: string,字符串 int,整型 bool,布尔型 上面这种是一个变量一个变量的声明,go也有批量声明方式: var ( name string age int isBoy boo...阅读全文

博文 2020-03-16 00:33:13 Uncle_Joker

数据结构和算法(Golang实现)(19)排序算法-冒泡排序

冒泡排序 冒泡排序是大多数人学的第一种排序算法,在面试中,也是问的最多的一种,有时候还要求手写排序代码,因为比较简单。 冒泡排序属于交换类的排序算法。 一、算法介绍 现在有一堆乱序的数,比如:5 9 1 6 8 14 6 49 25 4 6 3。 第一轮迭代:从第一个数开始,依次比较相邻的两个数,如果前面一个数比后面一个数大,那么交换位置,直到处理到最后一个数,最后的这个数是最大的。 第二轮迭代:因为最后一个数已经是最大了,现在重复第一轮迭代的操作,但是只处理到倒数第二个数。 第三轮迭代:因为最后一个数已经是最大了,最后第二个数是次大的,现在重复第一轮迭代的操作,但是只处理到倒数第三个数。 第N轮迭代:.... 经过交换,最后的结果为:1 3 4 5 6 6 6 8 9 14 25 49,我...阅读全文

博文 2020-04-07 16:32:36 陈星星

通俗易懂:说说 Python 里的线程安全、原子操作

首发于微信公众号:Python编程时光在线博客地址:http://python.iswbm.com/en/la... 在并发编程时,如果多个线程访问同一资源,我们需要保证访问的时候不会产生冲突,数据修改不会发生错误,这就是我们常说的 线程安全 。 那什么情况下,访问数据时是安全的?什么情况下,访问数据是不安全的?如何知道你的代码是否线程安全?要如何访问数据才能保证数据的安全? 本篇文章会一一回答你的问题。 1. 线程不安全是怎样的? 要搞清楚什么是线程安全,就要先了解线程不安全是什么样的。 比如下面这段代码,开启两个线程,对全局变量 number 各自增 10万次,每次自增 1。 from threading import Thread, Lock number = 0 def target...阅读全文

博文 2020-05-14 18:33:13 Python编程时光

23. 一篇文章 说清楚 Go语言里的函数

Hi,大家好,我是明哥。 在自己学习 Golang 的这段时间里,我写了详细的学习笔记放在我的个人微信公众号 《Go编程时光》,对于 Go 语言,我也算是个初学者,因此写的东西应该会比较适合刚接触的同学,如果你也是刚学习 Go 语言,不防关注一下,一起学习,一起成长。 我的在线博客:golang.iswbm.com 我的 Github:github.com/iswbm/GolangCodingTime 1. 关于函数 函数是基于功能或 逻辑进行封装的可复用的代码结构。将一段功能复杂、很长的一段代码封装成多个代码片段(即函数),有助于提高代码可读性和可维护性。 在 Go 语言中,函数可以分为两种: 带有名字的普通函数 没有名字的匿名函数 由于 Go语言是编译型语言,所以函数编写的顺序是无关紧要...阅读全文

博文 2020-05-31 13:34:30 王一白

(二) Golang变量(1) 介绍和注意事项

1. 变量的介绍 1.1 变量的概念 变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,同样的道理,通过变量名可以访问到变量(值)。 1.2 变量的使用步骤 声明变量(也叫:定义变量) 非变量赋值 使用变量 image.png 输出: image.png 2. 变量使用注意事项 1) 变量表示内存中的一个存储区域 2) 该区域有自己的名称(变量名)和类型(数据类型) image.png 3) Golang 变量使用的三种方式 (1) 第一种:指定变量类型,声明后若不赋值,使用默认值 func main() { //int 默认值为0 var i int fmt.Println("i=", i) } 输出 i= 0 (2) 第二种:根据值自...阅读全文

博文 2020-05-19 10:32:53 21号新秀_邓肯

如何在JavaScript中转换数据类型?

在JavaScript中,数据类型用于对一种特定类型的数据进行分类,确定可以分配给类型的值以及可以对其执行的操作。虽然由于类型强制,JavaScript会自动转换许多值,但为了达到预期的结果,通常最好在类型之间手动转换值。那么如何在JavaScript中转换数据类型?下面本篇文章就来给大家介绍一下,希望对大家有所帮助。 原文地址:如何在JavaScript中转换数据类型?JavaScript 变量可以转换为新变量或其他数据类型,分为两种情况:● 隐性转换:通过 JavaScript 自身自动转换● 显性转换:通过使用 JavaScript 函数进行转换隐性转换作为一种编程语言,javascript对意外值非常宽容。因此,JavaScript将尝试转换意外的值,而不是直接拒绝它们。这种隐性转换...阅读全文

博文 2020-03-25 23:32:43 yanghs

Go语言基础 - 变量与常量

一、标识符 标识符是程序员定义的具有特定含义名词,如常量名、变量名和函数名等等 Go语言的标识符组成成分:字母、数字和下划线_,并且只能以字母和_开头,如ab3,_ab3 二、关键字 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 以及37个保留字: Constants: true false iota nil Types: int int8 int16 int32 int64 uint uint8...阅读全文

博文 2020-04-07 15:32:42 不留烦