μ μ λ°°μ΄
λ°°μ΄μ νμ
μ΄λ¦μ [#count]<type>
ννλ‘ int
μμ 5κ°λ₯Ό λ΄λ λ°°μ΄μ νμ
μ΄λ¦μ [5]int
, bool
μμ 100κ°λ₯Ό λ΄λ λ°°μ΄μ νμ
μ΄λ¦μ [100]bool
μ΄ λλ€. νμ
μ΄λ¦ λ€μ {
μ }
λ‘ μ΄κΈ°ν 리μ€νΈλ₯Ό μ€ μ μλ€.
func main() {
var array [5]int
even := [4]int{2, 4, 6, 8}
vertexes := [3]Vertex{{1, 2}, {2, 3}}
}
μ¬λΌμ΄μ€
μ¬λΌμ΄μ€μ νμ
μ΄λ¦μ []<type>
ννλ‘ int
μμλ₯Ό λ΄λ μ¬λΌμ΄μ€μ νμ
μ΄λ¦μ []int
, bool
μμλ₯Ό λ΄λ μ¬λΌμ΄μ€μ νμ
μ΄λ¦μ []bool
μ΄ λλ€. λ°°μ΄κ³Ό λ¬λ¦¬ μ 체 μμ κ°μλ₯Ό μ§μ νμ§ μλλ€.
func main() {
// λ°°μ΄λ‘λΆν° λ²μλ₯Ό μ§μ
primes := [5]int{2, 3, 5, 7, 11}
s := primes[:3]
// μ¬λΌμ΄μ€ 리ν°λ΄λ‘ μ΄κΈ°ν
vertexes := []Vertex{{1, 2}, {2, 3}, {3, 4}}
// μμλ₯Ό μΆκ°, λ©λͺ¨λ¦¬ λΆμ‘±νλ€λ©΄ μλμΌλ‘ ν λΉ
vertexes = append(vertexes, {7, 6}, {2, 3})
// range ν€μλλ₯Ό ν΅ν΄ μΈλ±μ€μ μμμ 볡μ¬λ³Έμ μμλλ‘ μ‘°ν
for i, v := range vertexes {
fmt.Println(i, v)
}
// make(type, count)λ‘ μλ‘μ΄ μ¬λΌμ΄μ€
ticTacToe := make([][]bool, 3)
for i := range ticTacToe {
ticTacToe = make([]bool, 3)
}
}
λ§΅
λ§΅μ νμ
μ΄λ¦μ map[KeyType]ValueType
μ΄λ€. var m map[string]Vecter
μ κ°μ μ μΈλ§μΌλ‘ λ§΅ mμ λ°λ‘ μ΄μ©ν μ μλ€. λ§΅μ μ΄μ©νκΈ° μν΄μλ makeλ₯Ό μ΄μ©ν΄ λ§΅μ ν λΉλ°κ±°λ λ§΅ 리ν°λ΄μ μ΄μ©ν΄ μ μΈκ³Ό ν¨κ» μ΄κΈ°ννμ¬μΌ νλ€.
func main() {
var m map[string]Vertex
m = make(map[string]Vertex)
student := map[string]Student{
"A000001": {"Jiseok Son", 98},
"A000002": {"Who Is", 80}
}
delete(student, "A000002")
s, ok := student["A000002"] // nil, false
}
μμ : μλΌν μ€ν λ€μ€μ 체 μκ³ λ¦¬μ¦
func ListPrimes(upperLimit int) {
isPrime := make([]bool, upperLimit+1)
for i := range isPrime {
isPrime[i] = true
}
for i := 2; i*i <= upperLimit; i++ {
if !isPrime[i] {
continue
}
for j := i * i; j <= upperLimit; j += i {
isPrime[j] = false
}
}
for i := 2; i <= upperLimit; i++ {
if isPrime[i] {
fmt.Printf("%d ", i)
}
}
fmt.Println()
}
μμ : μ€λμΏ νμ΄ λ°±νΈλνΉ
func NumAvailable(board [][]int, y, x, n int) bool {
for i := range 9 {
if board[y][i] == n || board[i][x] == n {
return false
}
}
yb, xb := y/3*3, x/3*3
for i := range 3 {
for j := range 3 {
if board[yb+i][xb+j] == n {
return false
}
}
}
return true
}
func SolveSudoku(board [][]int, y, x int) bool {
for ; y < 9; y++ {
for ; x < 9; x++ {
if board[y][x] != 0 {
continue
}
for n := 1; n <= 9; n++ {
if !NumAvailable(board, y, x, n) {
continue
}
board[y][x] = n
if SolveSudoku(board, y, x) {
return true
}
board[y][x] = 0
}
return false
}
x = 0
}
return true
}
'Programming > Go lang' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[go lang] μΈν°νμ΄μ€ (1) | 2024.07.13 |
---|