Golang 기본 - Constantes
Esse post faz parte de uma série onde pretendo compartilhar o básico essencial para desenvolver com GoLang.
Constantes são muito comuns e bastante utilizadas, para quem está iniciando pode parecer confuso por elas serem semelhantes a variáveis. A principal diferença das constantes é que elas são definitivas, uma vez criada o valor não é mais alterado, como o próprio nome diz: constante.
이제 Go에서 작동합니까?
Em Go as constantes são criadas na compilação do código. Uma expressão comum é dizer que é em "tempo de compilação". Enquanto as variáveis são criadas em tempo de execução (런타임). Por esse motivo as constantes só podem ser dos tipos básicos do Go:
strings
, números
, caracteres
ebooleanos
.Para saber mais: https://go.dev/doc/effective_go#constants
크리안도 상수
Vamos ao primeiro 예시:
package main
import "fmt"
const (
appName = "go_basico"
serverPort = 3000
)
func main() {
fmt.Println(appName, serverPort)
}
Você também pode criar dessa 형식:
package main
import "fmt"
const appName = "go_basico"
const serverPort = 3000
func main() {
fmt.Println(appName, serverPort)
}
아그루판도 상수
O interessante é que você agrupe suas constantes, combinando valores que sejam relacionados, isso vai deixar o código bastante simples. 예를 들어, vamos imaginar que nos temos um produto e que ele possui dois atributos:
cor
estatus
Esses dois atributos possuem valores limitados, um conjunto de constantes:package main
import "fmt"
// conjunto de cores
const (
vermelho = "#ff0000"
verde = "#00ff00"
azul = "#0000ff"
)
// conjunto de status do produto
const (
rascunho = 1
publicado = 2
congelado = 3
deletado = 4
)
func main() {
fmt.Println(vermelho, azul, verde)
fmt.Println(rascunho, publicado, congelado, deletado)
}
Conjuntos de constantes
Se você já teve contato com outras linguagens é possível que esteja se perguntando se não poderíamos ter feito isso com
enums
. 대답은 é sim e não.enum
. Eu convido você que está lendo, a refletir um pouco sobre isso, algumas vezes nós podemos acabar caindo em armadilhas de se prender a nomes como
enum
e esquecer o que eles são em sua essência.Bom, o que nós precisamos fazer é definir um
tipo customizado
para os nossos conjuntos:type cor string
type status int
Futuramente teremos post sobre tipos e tipos customizados
package main
import (
"fmt"
)
type cor string
const (
vermelho cor = "#ff0000"
verde cor = "#00ff00"
azul cor = "#0000ff"
)
type status int
const (
rascunho status = 1
publicado status = 2
congelado status = 3
deletado status = 4
)
func main() {
fmt.Println(vermelho, azul, verde)
fmt.Println(rascunho, publicado, congelado, deletado)
}
이오타 활용
Para conjuntos numéricos, como o nosso conjunto de status, temos a opção de usar a palavra reservada
iota
, ela vai gerar valores sequenciais automaticamente:package main
import "fmt"
type cor string
const (
vermelho cor = "#ff0000"
verde cor = "#00ff00"
azul cor = "#0000ff"
)
type status int
const (
//por padrão iota inicia em 0
rascunho status = iota + 1
publicado
congelado
deletado
)
func main() {
fmt.Println(vermelho, azul, verde)
fmt.Println(rascunho, publicado, congelado, deletado)
}
이력서
const
. iota
코드는 간단합니다. Reference
이 문제에 관하여(Golang 기본 - Constantes), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/bgskurono/golang-basico-constantes-4d5d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)