最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Go中使用操作符進(jìn)行數(shù)學(xué)運(yùn)算的示例代碼

 更新時(shí)間:2023年10月08日 14:39:25   作者:CHQIUU  
在編程中有效地執(zhí)行數(shù)學(xué)運(yùn)算是一項(xiàng)需要開(kāi)發(fā)的重要技能,本文主要介紹了Go中使用操作符進(jìn)行數(shù)學(xué)運(yùn)算的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下

引言

數(shù)字在編程中很常見(jiàn)。它們用于表示諸如:屏幕尺寸、地理位置、金錢(qián)和點(diǎn)數(shù)、視頻中經(jīng)過(guò)的時(shí)間、游戲角色的位置、分配數(shù)字代碼的顏色等等。

在編程中有效地執(zhí)行數(shù)學(xué)運(yùn)算是一項(xiàng)需要開(kāi)發(fā)的重要技能,因?yàn)槟憬?jīng)常會(huì)用到數(shù)字。雖然對(duì)數(shù)學(xué)的深入理解肯定可以幫助你成為更好的程序員,但這不是先決條件。如果你沒(méi)有數(shù)學(xué)背景,試著把數(shù)學(xué)看作是一種工具來(lái)完成你想要達(dá)到的目標(biāo),是一種提高你邏輯思維的方法。

我們將使用Go中最常用的兩種數(shù)字[數(shù)據(jù)類(lèi)型]整數(shù)浮點(diǎn)數(shù):

  • [Integers]是整數(shù),可以是積極的,消極的,或0(…,-101,…)。
  • [Floats]是包含小數(shù)點(diǎn)的實(shí)數(shù),例如9.0-2.25

本教程將回顧Go中可用于數(shù)字?jǐn)?shù)據(jù)類(lèi)型的運(yùn)算符。

運(yùn)算符

運(yùn)算符是一個(gè)表示操作的符號(hào)或函數(shù)。例如,在數(shù)學(xué)中,加號(hào)或’ + '是表示加法的運(yùn)算符。

在Go中,我們將看到一些從數(shù)學(xué)中引入的熟悉的操作符。不過(guò),我們將使用的其他操作符是計(jì)算機(jī)編程特有的。

下面是Go中數(shù)學(xué)相關(guān)運(yùn)算符的快速參考表。我們將在本教程中介紹以下所有操作。

運(yùn)算符返回什么
x + yx與y的和
x - yx和y的差值
-x改變x的符號(hào)
+xx的恒等式
x * yx和y的乘積
x / yx和y的商
x % yx / y的余數(shù)

我們還將介紹復(fù)合賦值運(yùn)算符,包括+=*=,它們將算術(shù)運(yùn)算符與=運(yùn)算符結(jié)合在一起。

加法和減法

在Go中,加法和減法運(yùn)算符的表現(xiàn)與數(shù)學(xué)中的一樣。事實(shí)上,您可以將Go編程語(yǔ)言用作計(jì)算器。

讓我們看一些例子,從整數(shù)開(kāi)始:

fmt.Println(1 + 5)

Output6

除了直接將整數(shù)傳遞給fmt.Println語(yǔ)句之外,我們可以使用如下語(yǔ)法初始化變量以表示整數(shù)值:

a := 88
b := 103
fmt.Println(a + b)

Output191

因?yàn)檎麛?shù)既可以是正數(shù),也可以是負(fù)數(shù)(0也是),所以可以將負(fù)數(shù)和正數(shù)相加:

c := -36
d := 25
fmt.Println(c + d)

Output-11

浮點(diǎn)數(shù)的加法操作類(lèi)似:

e := 5.5
f := 2.5
fmt.Println(e + f)

Output8

因?yàn)槲覀儗蓚€(gè)浮點(diǎn)數(shù)相加,所以Go返回了一個(gè)帶小數(shù)點(diǎn)的浮點(diǎn)值。然而,由于在本例中小數(shù)點(diǎn)是零,fmt.Println刪除了小數(shù)格式。為了正確格式化輸出,我們可以使用fmt.Printf和動(dòng)詞%.2f,它將格式化為兩位小數(shù),如下例所示:

fmt.Printf("%.2f", e + f)

Output8.00

減法的語(yǔ)法與加法相同,只是要把運(yùn)算符從加號(hào)(+)改為減號(hào)(-):

g := 75.67
h := 32.0
fmt.Println(g - h)

Output43.67

在Go中,我們只能在相同的數(shù)據(jù)類(lèi)型上使用操作符。我們不能將intfloat64相加

i := 7
j := 7.0
fmt.Println(i + j)
Outputi + j (mismatched types int and float64)

試圖在不相同的數(shù)據(jù)類(lèi)型上使用運(yùn)算符將導(dǎo)致編譯器錯(cuò)誤。

一元數(shù)學(xué)表達(dá)式

一元數(shù)學(xué)表達(dá)式只包含一個(gè)成分或元素。在Go中,我們可以使用加號(hào)和減號(hào)作為單個(gè)元素與值配對(duì):返回值的單位符號(hào)(+),或更改值的符號(hào)(-)。

雖然加號(hào)不常用,但它表示值的身份。我們可以使用加號(hào)來(lái)表示正數(shù):

i := 3.3
fmt.Println(+i)

Output3.3

當(dāng)我們用加號(hào)表示一個(gè)負(fù)數(shù)時(shí),它也會(huì)返回該值的標(biāo)識(shí)符,在這個(gè)例子中,它會(huì)返回一個(gè)負(fù)數(shù):

j := -19
fmt.Println(+j)

Output-19

對(duì)于負(fù)數(shù),加號(hào)返回相同的負(fù)數(shù)。

然而,減號(hào)會(huì)改變值的正負(fù)號(hào)。因此,當(dāng)我們傳入一個(gè)正值時(shí),我們會(huì)發(fā)現(xiàn)值之前的減號(hào)將返回負(fù)值:

k := 3.3
fmt.Println(-k)

Output-3.3

或者,當(dāng)使用減號(hào)操作符處理負(fù)數(shù)時(shí),將返回一個(gè)正數(shù):

j := -19
fmt.Println(-j)

Output19

由加號(hào)和減號(hào)表示的一元算術(shù)運(yùn)算將返回值的恒等符號(hào)(如+i),或相反的符號(hào)(如-i)。

乘法和除法

就像加法和減法一樣,乘法和除法看起來(lái)很像數(shù)學(xué)中的運(yùn)算。我們將在Go中用于乘法的符號(hào)是*,用于除法的符號(hào)是/

下面是用兩個(gè)浮點(diǎn)數(shù)在Go中做乘法的例子:

k := 100.2
l := 10.2
fmt.Println(k * l)

Output1022.04

在Go中,根據(jù)我們除法的數(shù)值類(lèi)型,除法具有不同的特征。

如果我們要除以整數(shù),Go的/運(yùn)算符會(huì)執(zhí)行整除操作,對(duì)于商x,返回的是小于或等于x的最大整數(shù)。

如果你運(yùn)行以下除以80 / 6的例子,你將得到13作為輸出,數(shù)據(jù)類(lèi)型將是int:

package main
import (
	"fmt"
)
func main() {
	m := 80
	n := 6
	fmt.Println(m / n)
}

Output13

如果期望的輸出是浮點(diǎn)數(shù),則必須在除法之前顯式轉(zhuǎn)換值。

你可以通過(guò)在你的值周?chē)b你想要的浮點(diǎn)類(lèi)型float32()float64()來(lái)實(shí)現(xiàn):

package main
import (
	"fmt"
)
func main() {
	s := 80
	t := 6
	r := float64(s) / float64(t)
	fmt.Println(r)
}

Output13.333333333333334

%操作符是,它返回除法后的余數(shù)而不是商。這對(duì)于查找是同一個(gè)數(shù)的倍數(shù)的數(shù)很有用。

來(lái)看一個(gè)求模的例子:

o := 85
p := 15
fmt.Println(o % p)

Output10

具體來(lái)說(shuō),85除以15返回的是5的商余數(shù)10。我們的程序在這里返回值10,因?yàn)榍竽_\(yùn)算符返回除法表達(dá)式的余數(shù)。

要對(duì)float64數(shù)據(jù)類(lèi)型進(jìn)行模運(yùn)算,你將使用math包中的Mod函數(shù):

package main
import (
	"fmt"
	"math"
)
func main() {
	q := 36.0
	r := 8.0
	s := math.Mod(q, r)
	fmt.Println(s)
}

Output4

運(yùn)算符優(yōu)先級(jí)

在Go中,就像在數(shù)學(xué)中一樣,我們需要記住,運(yùn)算符將按優(yōu)先級(jí)順序進(jìn)行計(jì)算,而不是從左到右或從右到左。

看看下面的數(shù)學(xué)表達(dá)式:

u = 10 + 10 * 5

我們可以從左到右讀取它,但乘法將首先執(zhí)行,因此如果我們打印u,我們將收到以下值:

Output60

這是因?yàn)?code>10 * 5的計(jì)算結(jié)果是50,然后我們加上10來(lái)返回60作為最終結(jié)果。

如果我們想將值10加到10,然后乘以5,我們?cè)贕o中使用括號(hào),就像我們?cè)跀?shù)學(xué)中使用的那樣:

u := (10 + 10) * 5
fmt.Println(u)

Output100

記住運(yùn)算順序的一種方法是使用縮寫(xiě)PEMDAS:

優(yōu)先級(jí)標(biāo)志代表
1P括號(hào)
2E指數(shù)
3M乘法
4D除法
5A加法
6S減法

你可能熟悉另一個(gè)表示操作順序的縮寫(xiě),例如BEDMASBODMAS。無(wú)論哪種首字母縮寫(xiě)最適合您,在Go中執(zhí)行數(shù)學(xué)操作時(shí)請(qǐng)盡量記住它,以便返回您期望的結(jié)果。

賦值操作符

最常見(jiàn)的賦值運(yùn)算符已經(jīng)用過(guò):等號(hào)=。賦值運(yùn)算符=將右邊的值賦給左邊的變量。例如,v = 23將整數(shù)23的值賦給變量v。

編程時(shí),通常使用復(fù)合賦值操作符,對(duì)變量的值進(jìn)行操作,然后將得到的新值賦給該變量。這些復(fù)合操作符結(jié)合了算術(shù)操作符和=操作符。因此,對(duì)于加法運(yùn)算,我們將+=結(jié)合起來(lái)得到復(fù)合運(yùn)算符+=。讓我們看看它是什么樣子:

w := 5
w += 1
fmt.Println(w)

Output6

首先,我們將變量w的值設(shè)置為5,然后使用+=復(fù)合賦值操作符將右值與左值相加,然后將結(jié)果賦值給w

復(fù)合賦值運(yùn)算符經(jīng)常用于for循環(huán)的情況,當(dāng)你想多次重復(fù)一個(gè)過(guò)程時(shí),你會(huì)使用它:

package main
import "fmt"
func main() {
	values := []int{0, 1, 2, 3, 4, 5, 6}
	for _, x := range values {
		w := x
		w *= 2
		fmt.Println(w)
	}
}

Output0
2
4
6
8
10
12

通過(guò)使用for循環(huán)來(lái)迭代名為values的切片,你能夠自動(dòng)化*=操作符的處理,該操作符將變量w乘以數(shù)字2,然后將結(jié)果賦值給變量w

對(duì)于本教程中討論的每個(gè)算術(shù)運(yùn)算符,Go都有一個(gè)復(fù)合賦值運(yùn)算符。

添加后再賦值:

y += 1

減去后再賦值:

y -= 1

相乘再賦值:

y *= 2

相除再賦值:

y /= 3

要返回余數(shù),然后再賦值:

y %= 3

當(dāng)需要遞增或遞減操作時(shí),或者需要自動(dòng)化程序中的某些過(guò)程時(shí),復(fù)合賦值操作符可能很有用。

總結(jié)

到此這篇關(guān)于Go中使用操作符進(jìn)行數(shù)學(xué)運(yùn)算的示例代碼的文章就介紹到這了,更多相關(guān)Go 操作符數(shù)學(xué)運(yùn)算內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Golang設(shè)計(jì)模式之外觀模式講解和代碼示例

    Golang設(shè)計(jì)模式之外觀模式講解和代碼示例

    外觀是一種結(jié)構(gòu)型設(shè)計(jì)模式, 能為復(fù)雜系統(tǒng)、 程序庫(kù)或框架提供一個(gè)簡(jiǎn)單 (但有限) 的接口,這篇文章就給大家詳細(xì)介紹一下Golang的外觀模式,文中有詳細(xì)的代碼示例,具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-06-06
  • GO語(yǔ)言操作Elasticsearch示例分享

    GO語(yǔ)言操作Elasticsearch示例分享

    這篇文章主要介紹了GO語(yǔ)言操作Elasticsearch示例分享的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • go連接mysql的項(xiàng)目實(shí)踐

    go連接mysql的項(xiàng)目實(shí)踐

    本文主要介紹了go連接mysql的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • CentOS 32 bit安裝golang 1.7的步驟詳解

    CentOS 32 bit安裝golang 1.7的步驟詳解

    Go是Google開(kāi)發(fā)的一種編譯型,并發(fā)型,并具有垃圾回收功能的編程語(yǔ)言。在發(fā)布了6個(gè)rc版本之后,Go 1.7終于正式發(fā)布了。本文主要介紹了在CentOS 32 bit安裝golang 1.7的步驟,文中給出了詳細(xì)的步驟,相信對(duì)大家的學(xué)習(xí)和理解具有一定的參考借鑒價(jià)值,下面來(lái)一起看看吧。
    2016-12-12
  • Go語(yǔ)言中防止敏感數(shù)據(jù)意外泄露的幾種方法

    Go語(yǔ)言中防止敏感數(shù)據(jù)意外泄露的幾種方法

    這篇文章主要介紹了在Go語(yǔ)言中優(yōu)雅地處理敏感數(shù)據(jù)的方法,通過(guò)使用接口來(lái)控制格式化、日志記錄、序列化等行為,避免敏感信息泄露,需要的朋友可以參考下
    2026-01-01
  • Go泛型中的~struct{}的具體使用

    Go泛型中的~struct{}的具體使用

    本文主要Go泛型中的~struct{}的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-12-12
  • Go語(yǔ)言中hot path的作用

    Go語(yǔ)言中hot path的作用

    熱路徑指的是經(jīng)常執(zhí)行的性能敏感的代碼路徑,優(yōu)化這些路徑可以顯著提高應(yīng)用性能,通過(guò)工具如pprof進(jìn)行性能分析,識(shí)別和優(yōu)化熱路徑,能有效提升系統(tǒng)的響應(yīng)能力和可靠性
    2024-10-10
  • go?replay流量重放的實(shí)現(xiàn)

    go?replay流量重放的實(shí)現(xiàn)

    Goreplay?是用?Golang?寫(xiě)的一個(gè)?HTTP?實(shí)時(shí)流量復(fù)制工具,支持流量放大縮小、限流、文件記錄及ES集成,本文主要介紹了go?replay流量重放的實(shí)現(xiàn),感興趣的可以了解一下
    2025-05-05
  • go swagger生成接口文檔使用教程

    go swagger生成接口文檔使用教程

    這篇文章主要為大家介紹了go swagger生成接口文檔使用教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Golang中的泛型你真的了解嗎

    Golang中的泛型你真的了解嗎

    Golang?在?1.18?版本更新后引入了泛型,這是一個(gè)重要的更新,Gopher?萬(wàn)眾矚目,為?Golang?帶來(lái)了更多的靈活性和可重用性,今天,我們將深入探討泛型的概念、為什么需要泛型、泛型的語(yǔ)法,并探討如何在實(shí)踐中使用它
    2023-05-05

最新評(píng)論

昭觉县| 陈巴尔虎旗| 湘潭市| 临泉县| 仁化县| 陆丰市| 丹巴县| 湟源县| 即墨市| 衡水市| 南丹县| 嘉荫县| 邹平县| 修水县| 彰武县| 揭东县| 房产| 九龙城区| 舟山市| 乐都县| 丽水市| 新建县| 阳泉市| 巩留县| 铁力市| 师宗县| 台南市| 安乡县| 东乌珠穆沁旗| 米脂县| 阿拉善左旗| 绍兴县| 阜新市| 大竹县| 雷波县| 临沂市| 永州市| 搜索| 利川市| 伊金霍洛旗| 东平县|